当前位置:首页 > Java

java如何写文件

2026-03-03 10:59:14Java

写入文件的基本方法

使用 FileWriterBufferedWriter 可以快速实现文件写入。FileWriter 直接操作文件字符流,适合简单场景;BufferedWriter 提供缓冲区,适合频繁写入。

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

使用 Files 工具类(Java 7+)

java.nio.file.Files 提供简洁的静态方法,适合一次性写入内容或处理多行文本。

Path path = Paths.get("output.txt");
String content = "Text to write";
Files.write(path, content.getBytes(), StandardOpenOption.CREATE);

多行写入示例:

java如何写文件

List<String> lines = Arrays.asList("Line 1", "Line 2");
Files.write(path, lines, StandardCharsets.UTF_8, StandardOpenOption.CREATE);

二进制文件写入

对于二进制数据(如图片、序列化对象),需使用 FileOutputStreamBufferedOutputStream

try (FileOutputStream fos = new FileOutputStream("data.bin");
     BufferedOutputStream bos = new BufferedOutputStream(fos)) {
    byte[] data = {0x48, 0x65, 0x6C, 0x6C, 0x6F};
    bos.write(data);
} catch (IOException e) {
    e.printStackTrace();
}

追加写入模式

通过设置追加标志(append=true)或 StandardOpenOption.APPEND,避免覆盖原有内容。

java如何写文件

try (FileWriter writer = new FileWriter("output.txt", true)) {
    writer.write("\nAppended text");
} catch (IOException e) {
    e.printStackTrace();
}

NIO 追加示例:

Files.write(
    Paths.get("output.txt"),
    "Appended text".getBytes(),
    StandardOpenOption.APPEND
);

异常处理最佳实践

推荐使用 try-with-resources 自动关闭资源,并处理 IOException。对于关键应用,可增加文件权限检查和磁盘空间验证。

Path path = Paths.get("output.txt");
if (Files.isWritable(path.getParent())) {
    try (BufferedWriter writer = Files.newBufferedWriter(path)) {
        writer.write("Checked write");
    } catch (IOException e) {
        System.err.println("Write failed: " + e.getMessage());
    }
}

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

相关文章

css文件制作详细点

css文件制作详细点

CSS 文件制作指南 CSS(层叠样式表)用于控制网页的样式和布局。以下是详细的制作方法: 创建 CSS 文件 新建一个文本文件,将其保存为 .css 扩展名,例如 styles.css。确保文件…

vue文件下载后端实现

vue文件下载后端实现

Vue 文件下载后端实现 在 Vue 项目中实现文件下载功能通常需要前后端配合。后端主要负责生成文件并提供下载接口,前端通过调用接口触发下载。以下是常见的后端实现方法(以 Node.js/Expres…

java如何写接口

java如何写接口

定义接口 在Java中,使用interface关键字定义接口。接口可以包含抽象方法、默认方法、静态方法和常量(隐式为public static final)。 public interface…

vue文件下载实现

vue文件下载实现

使用 Blob 对象下载文件 在 Vue 中可以通过创建 Blob 对象实现文件下载。通过将后端返回的二进制数据转换为 Blob,再生成下载链接触发浏览器下载行为。 axios.get('/api…

vue实现文件导入

vue实现文件导入

文件导入的基本实现 在Vue中实现文件导入通常通过HTML的<input type="file">元素结合File API完成。创建一个文件选择组件,监听change事件获取用户选择的文件…

vue 实现文件下载

vue 实现文件下载

使用 window.open 方法 通过 window.open 直接打开文件链接触发下载,适用于已知文件 URL 的情况: window.open('文件URL', '_blank') 使用 &…