使用Java文件处理函数读写文件
发布时间:2023-07-06 04:30:52
在Java中,可以使用一些文件处理函数来读写文件。下面是一些常用的文件处理函数的介绍:
1. FileInputStream:该类用于从文件中读取数据。它提供了多个读取方法,如read(byte[] b)可以从文件中读取指定长度的字节到字节数组中,read()可以读取单个字节,等等。
2. FileOutputStream:该类用于向文件中写入数据。它提供了多个写入方法,如write(byte[] b)可以将字节数组中的数据写入到文件中,write(int b)可以写入单个字节,等等。
3. FileReader:该类用于从文件中读取字符数据。它提供了多个读取方法,如read(char[] cbuf)可以从文件中读取指定长度的字符到字符数组中,等等。
4. FileWriter:该类用于向文件中写入字符数据。它提供了多个写入方法,如write(char[] cbuf)可以将字符数组中的数据写入到文件中,等等。
5. BufferedReader:该类用于从文件中读取文本数据。它提供了readLine()方法,可以一次读取一行文本。
6. BufferedWriter:该类用于向文件中写入文本数据。它提供了write(String s)方法,可以写入一行文本。
下面是一个例子,演示如何使用这些文件处理函数读写文件:
import java.io.*;
public class FileHandler {
public static void main(String[] args) {
File file = new File("file.txt");
try {
// 创建文件输入流
FileInputStream fis = new FileInputStream(file);
// 创建文件输出流
FileOutputStream fos = new FileOutputStream(file);
// 创建字符输入流
FileReader fr = new FileReader(file);
// 创建字符输出流
FileWriter fw = new FileWriter(file);
// 创建文本读取缓冲区
BufferedReader br = new BufferedReader(fr);
// 创建文本写入缓冲区
BufferedWriter bw = new BufferedWriter(fw);
// 读取文件内容
int byteData;
byte[] byteBuffer = new byte[1024];
while ((byteData = fis.read(byteBuffer)) != -1) {
// 处理读取的字节数据
// ...
// 写入文件内容
fos.write(byteBuffer, 0, byteData);
}
// 读取文本内容
String line;
while ((line = br.readLine()) != null) {
// 处理读取的文本行
// ...
// 写入文本内容
bw.write(line);
bw.newLine();
}
// 关闭流和缓冲区
fis.close();
fos.close();
fr.close();
fw.close();
br.close();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上述例子中,我们先创建了一个名为file.txt的文件。然后使用文件输入流和文件输出流来读取和写入文件的字节数据,使用字符输入流和字符输出流来读取和写入文件的字符数据,使用文本读取缓冲区和文本写入缓冲区来读取和写入文件的文本数据。最后关闭了流和缓冲区。
