Java中的文件函数:如何使用Java内置的文件函数来读写文件?
Java是一门跨平台编程语言,常见于开发Web应用程序、桌面应用程序和移动应用程序等领域。在Java中,文件处理是非常必要的,而文件IO(Input/Output)就是其中不可或缺的一部分,Java提供了一系列内置API函数,用于文件的读写等操作。
文件读取
在Java中,使用FileInputStream来读取文件内容,该类继承了InputStream类,可以读取字节流,常用的方法如下:
1. read():不带参数,用于读取文件中的一个字节。
2. read(byte[] b):将文件中的数据读取到参数b所指的字节数组中。
3. read(byte[] b, int off, int len):将文件中指定的数据读取到参数b所指的字节数组中,从off位置开始存放,最多存放len个字节。
下面是一个简单的文件读取的样例代码:
import java.io.*;
public class fileRead {
public static void main(String args[]) {
try {
FileInputStream fis = new FileInputStream("test.txt");
int size = fis.available(); // 获取文件大小
byte[] b = new byte[size];
fis.read(b);
System.out.println(new String(b));
fis.close();
} catch (IOException e) {
System.out.println(e);
}
}
}
文件写入
文件写入的方法通常使用FileOutputStream类来实现,该类同样继承了OutputStream类,可以写入字节流,常用的方法如下:
1. write(int b):将一个字节写入文件。
2. write(byte[] b):将全部的字节数组写入文件。
3. write(byte[] b, int off, int len):将指定的字节数组写入文件,从off位置开始,写入len个字节。
4. flush():将缓冲区中的数据写入文件。(该方法在每次写入数据后通常需要调用)
下面是一个简单的文件写入的样例代码:
import java.io.*;
public class fileWrite {
public static void main(String args[]) {
try {
FileOutputStream fos = new FileOutputStream("test.txt");
String str = "Hello, World!";
byte[] b = str.getBytes();
fos.write(b);
fos.flush();
fos.close();
} catch (IOException e) {
System.out.println(e);
}
}
}
文件复制
文件复制在实际应用中是非常常见的操作,Java提供了类FileInputStream和FileOutputStream来实现文件复制。下面是一个简单的文件复制的样例代码:
import java.io.*;
public class fileCopy {
public static void main(String args[]) {
try {
FileInputStream fis = new FileInputStream("input.txt");
FileOutputStream fos = new FileOutputStream("output.txt");
byte[] b = new byte[1]; // 1字节
while (fis.read(b) != -1) {
fos.write(b);
}
// 关闭打开的文件流
fis.close();
fos.close();
} catch (IOException e) {
System.out.println(e);
}
}
}
总结
在Java中,文件IO是非常必要的一部分,可以通过以上介绍的方法来实现文件的读写、复制等操作,在实际开发中,我们也可以结合其他框架和工具,实现更加复杂的文件处理操作。
