📜  java 流写入文件 - Java (1)

📅  最后修改于: 2023-12-03 15:31:34.136000             🧑  作者: Mango

Java:利用流写入文件

在Java中,可以使用流(Stream)的方式将数据写入文件。通过流来写入数据,可以在代码中直接指定数据流的方向,可以提高代码的可读性和可维护性。本文将介绍如何使用Java流的方式,将数据写入文件。

使用FileOutputStream方式写入文件

可以使用FileOutputStream类来将数据写入文件中。以下是一个简单的示例:

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

public class WriteFileDemo {

    public static void main(String[] args) {
        String fileName = "example.txt";
        String content = "hello world!";
        
        try (FileOutputStream fos = new FileOutputStream(fileName)) {
            byte[] bytes = content.getBytes();
            fos.write(bytes);
            fos.flush();
            System.out.println("文件写入成功!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

这个示例代码将一个字符串内容写入到example.txt文件中。Java中的FileOutputStream类会将文件写入到磁盘上。

使用BufferedOutputStream方式写入文件

为了提高写入文件的效率,可以使用缓冲区(Buffer)来减少磁盘IO次数。下面是一个通过BufferedOutputStream类进行文件写入的示例代码:

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

public class WriteFileDemo {

    public static void main(String[] args) {
        String fileName = "example.txt";
        String content = "hello world!";
        
        try (FileOutputStream fos = new FileOutputStream(fileName);
             BufferedOutputStream bos = new BufferedOutputStream(fos)) {
            byte[] bytes = content.getBytes();
            bos.write(bytes);
            bos.flush();
            System.out.println("文件写入成功!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

这个示例代码中,先使用FileOutputStream类将文件写入磁盘上,然后使用BufferedOutputStream将数据缓存在内存中,再以一定的逻辑写入到文件中。

使用PrintStream方式写入文件

除了上述两种方式,还可以使用PrintStream类将数据写入文件。以下是一个示例代码:

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;

public class WriteFileDemo {

    public static void main(String[] args) throws FileNotFoundException {
        String fileName = "example.txt";
        String content = "hello world!";

        try (PrintStream ps = new PrintStream(new FileOutputStream(fileName))) {
            ps.println(content);
            System.out.println("文件写入成功!");
        }
    }

}

PrintStream类只能将字符串写入到文件中,而不能写入二进制数据。

总结

使用Java流的方式写入文件可以提高代码的可读性和可维护性。通过使用FileOutputStreamBufferedOutputStreamPrintStream三种类的方式,可以很方便地将数据写入到文件中。