当前位置:首页 > Java

java 如何写文件

2026-02-05 15:11:17Java

写入文件的基本方法

使用 FileWriterBufferedWriter 可以方便地将内容写入文件。FileWriter 直接操作文件,而 BufferedWriter 提供了缓冲功能,适合大量数据写入。

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

public class WriteToFile {
    public static void main(String[] args) {
        String content = "Hello, World!";
        String filePath = "output.txt";

        try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) {
            writer.write(content);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用 Files 类写入文件

Java 7 引入的 Files 类提供了更简洁的文件操作方式。Files.write() 方法可以直接将字符串或字节数组写入文件。

import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;

public class WriteToFile {
    public static void main(String[] args) {
        String content = "Hello, World!";
        String filePath = "output.txt";

        try {
            Files.write(Paths.get(filePath), content.getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

追加内容到文件

如果需要追加内容而不是覆盖原有文件,可以在 FileWriter 构造函数中传入 true 作为第二个参数。

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

public class AppendToFile {
    public static void main(String[] args) {
        String content = "Appended content";
        String filePath = "output.txt";

        try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath, true))) {
            writer.write(content);
            writer.newLine();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

写入二进制数据

对于二进制数据(如图片或音频文件),可以使用 FileOutputStreamBufferedOutputStream

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteBinaryData {
    public static void main(String[] args) {
        byte[] data = {0x48, 0x65, 0x6C, 0x6C, 0x6F}; // "Hello" in ASCII
        String filePath = "binary.bin";

        try (BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(filePath))) {
            outputStream.write(data);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

使用 try-with-resources 确保资源释放

以上示例均使用了 try-with-resources 语法,确保文件资源在使用后自动关闭。这是 Java 7 引入的特性,避免了手动调用 close() 方法。

try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) {
    writer.write(content);
} catch (IOException e) {
    e.printStackTrace();
}

处理文件路径

建议使用 Paths.get()Path.of()(Java 11+)处理文件路径,以提高代码的可移植性。

java 如何写文件

import java.nio.file.Paths;
import java.nio.file.Path;

Path filePath = Paths.get("output.txt");
// 或
Path filePath = Path.of("output.txt");

标签: 如何写文件
分享给朋友:

相关文章

如何编译react文件

如何编译react文件

编译 React 文件的方法 使用 Create React App (CRA) Create React App 是官方推荐的快速搭建 React 项目的工具,内置了 Babel 和 Webpack…

vue文件树实现

vue文件树实现

Vue 文件树实现 实现文件树功能通常需要递归组件和动态数据加载。以下是一个基于 Vue 3 的完整实现方案: 数据结构设计 文件树的数据结构通常为嵌套对象数组,每个节点包含以下属性: const…

vue前端实现文件下载

vue前端实现文件下载

使用 window.open 直接下载 通过 window.open 直接打开文件链接触发下载,适用于简单的文件下载场景。 将文件 URL 作为参数传入,浏览器会自动处理下载行为: window.o…

vue语音文件播放实现

vue语音文件播放实现

实现语音文件播放的方法 在Vue中实现语音文件播放可以通过HTML5的<audio>元素或JavaScript的Audio对象来完成。以下是几种常见的实现方式。 使用HTML5的audi…

vue实现打印文件流

vue实现打印文件流

Vue 实现打印文件流 在 Vue 中实现打印文件流(如 PDF、图片或其他二进制数据)通常涉及接收后端返回的文件流,将其转换为可打印的格式,并调用浏览器的打印功能。以下是具体实现方法: 接…

js代码实现vue文件

js代码实现vue文件

使用 JavaScript 解析和生成 Vue 文件 Vue 文件(.vue)通常包含模板、脚本和样式三部分。以下是使用 JavaScript 解析和生成 Vue 文件的方法。 解析 Vue 文件…