【BigData】Java基础_FileOutputStream写入文件

知识点

1.通过FileOutputStream是将数据先转化为二进制数据,然后再写入到文本文件

2.BufferedWriter可以更加简便的将数据写入文本文件。

3.其中的true参数表示追加,无该参数表示覆盖。

代码

我们可以通过FileOutputStream基础类将字符转化为二进制,然后写入到文件中

package cn.test.logan.day09;

import java.io.FileOutputStream;

public class FileOutputStreamDemo {
    public static void main(String[] args) throws Exception {
        /**
         * 使用FileOutputStream写入文件
         */
        // 覆盖的方式写数据
        FileOutputStream fos = new FileOutputStream("D:/demo.txt");
        String s = "你好!123";
        byte[] bytes = s.getBytes("utf-8");
        fos.write(bytes);
        //关闭流
        fos.close(); 
        
        // 追加的方式写数据(在FileOutputStream中添加true参数)
        FileOutputStream fos2 = new FileOutputStream("D:/demo.txt",true);
        String s2 = ",我在这里。";
        byte[] bytes2 = s2.getBytes("utf-8");
        fos2.write(bytes2);
        //关闭流
        fos2.close(); 
    }
    
}

但是Java给我们提供了一个更加高级的BufferedWriter,通过这个工具类可以更简单的实现数据写入文件

package cn.test.logan.day09;

import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;

public class BufferedWriterDemo {
    public static void main(String[] args) throws Exception {
        /**
         *  true参数表示追加,没有该参数则表示覆盖
         *  在OutputStreamWriter中可以传入编码字符集
         */
        BufferedWriter bf = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("d:/out.dat",true),"utf-8"));
        bf.write("你好");
        // 此处不添加关闭流,在文件中打开是看不到内容的
        bf.close();
    }
}
原文地址:https://www.cnblogs.com/OliverQin/p/12111068.html