当前位置:首页 > 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+)处理文件路径,以提高代码的可移植性。

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

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

java 如何写文件

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

相关文章

vue实现文件预览展示

vue实现文件预览展示

Vue 实现文件预览展示的方法 使用第三方库预览常见文件类型 对于常见的文件类型(如 PDF、图片、视频等),可以使用现成的 Vue 组件库来实现预览功能。 PDF 预览:使用 vue-pdf 或…

java如何创建文件

java如何创建文件

使用 File 类创建文件 通过 File 类的 createNewFile() 方法创建文件。此方法返回布尔值,表示文件是否成功创建。 import java.io.File; import ja…

php 实现文件下载

php 实现文件下载

实现文件下载的基本方法 使用 PHP 实现文件下载的核心是通过设置 HTTP 头部信息,强制浏览器将文件作为附件下载而非直接显示。以下是一个基础实现示例: $file_path = '/path/t…

java如何删除文件

java如何删除文件

删除文件的基本方法 使用 java.io.File 类的 delete() 方法可以删除文件。如果文件存在且删除成功,返回 true;否则返回 false。 import java.io…

uniapp 服务文件

uniapp 服务文件

uniapp 服务文件的概念 在 uniapp 中,服务文件通常指用于封装业务逻辑、接口请求或通用功能的 JavaScript 文件。这类文件通常存放在项目的 common 或 utils 目录下,便…

php实现文件下载代码

php实现文件下载代码

实现文件下载的基本方法 使用PHP实现文件下载的核心是通过设置HTTP头部信息,强制浏览器触发下载行为而非直接显示文件内容。 $file_path = 'path/to/your/file.ext…