当前位置:首页 > 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开发工具包(JDK) 访问Oracle官方网站或OpenJDK下载页面,选择适合操作系统的版本(Windows、macOS或Linux)。推荐下载最新的长期支持(LTS)版本,如Java…

java如何获取当前时间

java如何获取当前时间

获取当前时间的方法 在Java中,可以通过多种方式获取当前时间。以下是几种常见的方法: 使用 java.util.Date Date currentDate = new Date(); Syste…

java如何打印数组

java如何打印数组

打印数组的方法 在Java中,打印数组有多种方式,以下是几种常见的方法: 使用Arrays.toString()方法 这种方法适用于一维数组,可以快速将数组转换为字符串形式输出: int[] a…

如何安装java运行环境

如何安装java运行环境

下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本进行下载。Windows用户通常选择.exe安装包,macOS用户选择.dmg,Linu…

如何用java编程

如何用java编程

Java编程基础指南 环境配置 安装Java开发工具包(JDK),推荐使用最新版本。配置环境变量,确保JAVA_HOME指向JDK安装路径,并将bin目录添加到系统PATH中。验证安装是否成功: j…

java下载功能vue实现

java下载功能vue实现

Java 后端文件下载功能实现 后端需提供文件下载的接口,通常使用 HttpServletResponse 实现。以下是一个简单的 Java Spring Boot 示例: @GetMapping(…