欢迎访问宙启技术站
智能推送

Java中的文件读写方法

发布时间:2023-05-24 09:51:22

Java中的文件读写方法可以通过几种不同的方式实现。以下是其中的一些常见方式:

1. 使用字符流读写文本文件

Java中提供了两个主要的字符流类:FileReader和FileWriter。FileReader允许我们读取文本文件中的数据,FileWriter则允许我们向文本文件中写入数据。以下是一个示例代码:

FileReader reader = new FileReader("file.txt");
FileWriter writer = new FileWriter("output.txt");

int c;
while((c = reader.read()) != -1) {
   writer.write(c);
}

reader.close();
writer.close();

2. 使用字节流读写二进制文件

对于二进制文件,我们可以使用Java中的InputStream和OutputStream类来进行读写。以下是一个示例代码:

FileInputStream fileInput = new FileInputStream("input.bin");
DataInputStream dataInput = new DataInputStream(fileInput);

FileOutputStream fileOutput = new FileOutputStream("output.bin");
DataOutputStream dataOutput = new DataOutputStream(fileOutput);

byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = dataInput.read(buffer)) != -1) {
    dataOutput.write(buffer, 0, bytesRead);
}

dataInput.close();
dataOutput.close();

3. 使用BufferedReader和BufferedWriter读写文本文件

这种方式与使用字符流类类似,只不过我们使用了缓存来提高文件读取和写入的效率。以下是一个示例代码:

FileInputStream input = new FileInputStream("file.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(input));

FileOutputStream output = new FileOutputStream("output.txt");
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(output));

String line;
while ((line = reader.readLine()) != null) {
    writer.write(line);
}

reader.close();
writer.close();

4. 使用Scanner读取文本文件

如果我们只是需要读取文本文件中的某些特定数据,我们可以使用Java中的Scanner类来进行文件读取操作。以下是一个示例代码:

File input = new File("file.txt");
Scanner scanner = new Scanner(input);

while (scanner.hasNextLine()) {
    String line = scanner.nextLine();
    // do something with line
}

scanner.close();

无论我们采用哪种方式进行文件读写,我们都需要确保我们在读取和写入文件时出现异常情况的时候能够正确地进行错误处理。因此,在我们进行文件读写操作时,我们应该使用try-catch代码块来处理任何可能的异常情况。