当前位置:首页 > Java

java如何读写

2026-03-19 14:32:42Java

Java 文件读写操作

文件读取

使用 java.iojava.nio 包进行文件读取操作。

使用 BufferedReader 读取文本文件

try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
} catch (IOException e) {
    e.printStackTrace();
}

使用 Files 类(Java NIO)读取文件

try {
    List<String> lines = Files.readAllLines(Paths.get("file.txt"));
    lines.forEach(System.out::println);
} catch (IOException e) {
    e.printStackTrace();
}

文件写入

使用 BufferedWriter 写入文本文件

try (BufferedWriter bw = new BufferedWriter(new FileWriter("output.txt"))) {
    bw.write("Hello, World!");
    bw.newLine();
} catch (IOException e) {
    e.printStackTrace();
}

使用 Files 类(Java NIO)写入文件

try {
    Files.write(Paths.get("output.txt"), "Hello, World!".getBytes());
} catch (IOException e) {
    e.printStackTrace();
}

二进制文件读写

使用 FileInputStreamFileOutputStream

java如何读写

// 读取二进制文件
try (FileInputStream fis = new FileInputStream("input.bin")) {
    byte[] buffer = new byte[1024];
    int bytesRead;
    while ((bytesRead = fis.read(buffer)) != -1) {
        // 处理二进制数据
    }
} catch (IOException e) {
    e.printStackTrace();
}

// 写入二进制文件
try (FileOutputStream fos = new FileOutputStream("output.bin")) {
    byte[] data = {0x48, 0x65, 0x6C, 0x6C, 0x6F}; // "Hello" 的二进制表示
    fos.write(data);
} catch (IOException e) {
    e.printStackTrace();
}

使用 ObjectInputStreamObjectOutputStream 序列化对象

// 写入对象
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("object.dat"))) {
    oos.writeObject(new MySerializableClass());
} catch (IOException e) {
    e.printStackTrace();
}

// 读取对象
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("object.dat"))) {
    MySerializableClass obj = (MySerializableClass) ois.readObject();
} catch (IOException | ClassNotFoundException e) {
    e.printStackTrace();
}

注意事项

  • 使用 try-with-resources 语句确保流自动关闭
  • 处理 IOException 异常
  • 对于大文件,使用缓冲流提高性能
  • 考虑使用 Charset 指定字符编码(如 UTF-8)

标签: java
分享给朋友:

相关文章

java如何自学

java如何自学

确定学习目标和路径 自学Java需要明确目标,例如开发Web应用、Android应用或后端服务。根据目标选择学习重点,如Java基础、Spring框架或Android开发。制定阶段性计划,从基础语法到…

如何卸载java

如何卸载java

卸载Java的步骤 Windows系统卸载方法 打开控制面板,选择“程序和功能”或“卸载程序”。在列表中找到Java相关条目(如“Java 8 Update 251”),右键选择卸载并跟随向导完成操…

java如何输入数组

java如何输入数组

输入数组的方法 在Java中,可以通过多种方式输入数组,具体取决于输入源(如控制台、文件等)和数组类型(如基本类型或对象类型)。以下是几种常见的方法: 使用Scanner从控制台输入 对于基本数据类…

java前景如何

java前景如何

Java 当前的市场需求 Java 在企业级开发、大数据、云计算等领域仍占据重要地位。许多大型企业(如银行、电商平台)依赖 Java 构建后端系统。招聘平台数据显示,Java 开发岗位数量稳定,尤其在…

java如何连接mysql数据库

java如何连接mysql数据库

连接 MySQL 数据库的步骤 添加 MySQL 驱动依赖 在项目中引入 MySQL 的 JDBC 驱动。如果使用 Maven,可以在 pom.xml 中添加以下依赖: <dependency…

如何阅读java源码

如何阅读java源码

阅读Java源码的方法 选择合适的源码项目 初学者建议从JDK核心类库(如java.lang、java.util)或知名开源项目(如Spring、Guava)入手。选择文档完善、社区活跃的项目能降低理…