当前位置:首页 > 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() 方法可以直接将字符串或字节数组写入文件。

java 如何写文件

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

java 如何写文件

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");

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

相关文章

旋转相册制作css文件

旋转相册制作css文件

旋转相册制作CSS文件 旋转相册通常通过CSS动画和3D变换实现,以下是一个完整的CSS文件示例,用于创建一个3D旋转相册效果。 基础HTML结构 在CSS文件之前,需确保HTML结构包含相册容器和…

php 实现文件下载

php 实现文件下载

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

php实现文件的下载

php实现文件的下载

PHP 实现文件下载的方法 在 PHP 中实现文件下载功能通常需要设置正确的 HTTP 头信息,并输出文件内容。以下是几种常见的实现方式: 使用 header() 函数强制下载 通过设置 Conte…

vue实现文件进度

vue实现文件进度

Vue 实现文件上传进度 使用 Vue 实现文件上传进度可以通过结合 axios 或原生 XMLHttpRequest 的进度事件来实现。以下是两种常见方法: 使用 axios 上传文件并显…

vue语音文件播放实现

vue语音文件播放实现

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

vue实现文件拖拽下载

vue实现文件拖拽下载

Vue 实现文件拖拽下载 在 Vue 中实现文件拖拽下载功能,可以通过监听拖拽事件、处理文件数据并触发下载逻辑完成。以下是具体实现方法: 拖拽区域设置 创建一个可拖拽的区域,通常是一个 <di…