文件字节输出流:写字节数据到文件

1、不追加的情况

  • 创建一个字节输出流 管道 通向目标文件 路径 ,每次运行都会 先清空之前的数据,写新的数据进入
java 复制代码
package com.csdn.d2_byte_stream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class OutputStreamDemo04 {

    public static void main(String[] args) throws IOException {

        //1.创建一个文件字节输出流管道与目标文件接通,文件不用创建,自动生成文件
        //每次运行都会 先清空之前的数据,写新的数据进入
        OutputStream os = new FileOutputStream("src\\hard.txt");

        //2.写数据到 hard.txt
        os.write('a');//a
        os.write(98);//b
        os.write('吃');//
        os.write("\r\n".getBytes());

        byte[] buffer = {'a', 97, 98, 99};
        os.write(buffer);
        os.write("\r\n".getBytes());

        byte[] buffer2 = "我是中国人".getBytes();
        os.write(buffer2);
        os.write("\r\n".getBytes());

        byte[] buffer3 = {'a', 97, 98, 99};
        os.write(buffer3, 0, 3);

        //写数据,必须刷新数据,可以继续使用流
        os.flush();
        //释放资源,包含了刷新的!关闭后流不可以使用
        os.close();
    }
}
  • 无论执行多少次程序,都不会追加, 每次运行都会 先清空之前的数据,写新的数据进入

2、追加的情况

  • 创建一个 追加 数据的字节输出流 管道 通向目标文件 路径。
java 复制代码
package com.csdn.d2_byte_stream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class OutputStreamDemo04 {

    public static void main(String[] args) throws IOException {

        //1.创建一个追加文件字节输出流管道与目标文件接通,文件不用创建,自动生成文件
        OutputStream os = new FileOutputStream("src\\hard.txt", true);

        //2.写数据到 hard.txt
        os.write('a');//a
        os.write(98);//b
        os.write('吃');//
        os.write("\r\n".getBytes());

        byte[] buffer = {'a', 97, 98, 99};
        os.write(buffer);
        os.write("\r\n".getBytes());

        byte[] buffer2 = "我是中国人".getBytes();
        os.write(buffer2);
        os.write("\r\n".getBytes());

        byte[] buffer3 = {'a', 97, 98, 99};
        os.write(buffer3, 0, 3);

        //写数据,必须刷新数据,可以继续使用流
        os.flush();
        //释放资源,包含了刷新的!关闭后流不可以使用
        os.close();
    }
}
  • 程序执行 3 次,发生追加效果,出现3次结果,不会删除之前的数据
相关推荐
阿湯哥7 小时前
Spring AI Alibaba 实现 Workflow 全指南
java·人工智能·spring
星竹晨L7 小时前
【C++内存安全管理】智能指针的使用和原理
开发语言·c++
宵时待雨7 小时前
数据结构(初阶)笔记归纳3:顺序表的应用
c语言·开发语言·数据结构·笔记·算法
旺仔小拳头..7 小时前
Java ---变量、常量、类型转换、默认值、重载、标识符、输入输出、访问修饰符、泛型、迭代器
java·开发语言·python
12344528 小时前
【面试复盘】有了equals为什么还要hashcode
java·后端
lsx2024068 小时前
Vue3 自定义指令
开发语言
牛奔8 小时前
Go语言中结构体转Map优雅实现
开发语言·后端·macos·golang·xcode
毕设源码-邱学长8 小时前
【开题答辩全过程】以 台球俱乐部管理系统为例,包含答辩的问题和答案
java·eclipse
wujj_whut8 小时前
【Conda实战】从0到1:虚拟环境创建、多Python版本管理与环境切换全指南
开发语言·python·conda
蜗牛^^O^8 小时前
java中的JUC
java·开发语言