java读写文件详解(java文件读取和写入)

在 Java 中,有多种方法可以用来读写文件,本文将详细介绍如何使用 Java 标准库中的类和方法来执行文件读写操作。

我们将重点讨论以下几种方法:

  1. 使用 File
  2. 使用 FileInputStreamFileOutputStream
  3. 使用 BufferedReaderBufferedWriter
  4. 使用 Files 类和 Path 接口
  5. 使用 Scanner 类和 PrintWriter

1. 使用 File

Java 中的 File 类可以用来表示文件和目录路径名。它提供了一些用于操作文件和目录的方法,如创建、删除、重命名等。然而,File 类不支持直接读写文件内容。

图片[1]-java读写文件详解(java文件读取和写入)-不念博客

2. 使用 FileInputStreamFileOutputStream

FileInputStreamFileOutputStream 类分别用于从文件读取数据和向文件写入数据。

它们是字节流类,可以用于读写任何类型的文件,包括文本文件和二进制文件。

示例代码:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class ReadWriteFile {
    public static void main(String[] args) {
        String inputFile = "input.txt";
        String outputFile = "output.txt";

        try (FileInputStream fis = new FileInputStream(inputFile);
             FileOutputStream fos = new FileOutputStream(outputFile)) {

            int data;
            while ((data = fis.read()) != -1) {
                fos.write(data);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

3. 使用 BufferedReaderBufferedWriter

BufferedReaderBufferedWriter 类提供了更高效的文本文件读写方法。

它们分别包装了 FileReaderFileWriter 类,提供了缓冲功能。

示例代码:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class ReadWriteFile {
    public static void main(String[] args) {
        String inputFile = "input.txt";
        String outputFile = "output.txt";

        try (BufferedReader br = new BufferedReader(new FileReader(inputFile));
             BufferedWriter bw = new BufferedWriter(new FileWriter(outputFile))) {

            String line;
            while ((line = br.readLine()) != null) {
                bw.write(line);
                bw.newLine();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
© 版权声明
THE END
喜欢就支持一下吧
点赞64赞赏 分享
评论 抢沙发
头像
欢迎光临不念博客,留下您的想法和建议,祝您有愉快的一天~
提交
头像

昵称

取消
昵称代码图片

    暂无评论内容