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

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次结果,不会删除之前的数据
相关推荐
一只猿Hou16 分钟前
java分页插件| MyBatis-Plus分页 vs PageHelper分页:全面对比与最佳实践
java·mybatis
程序员弘羽22 分钟前
C++ 第四阶段 内存管理 - 第二节:避免内存泄漏的技巧
java·jvm·c++
旷世奇才李先生26 分钟前
Tomcat 安装使用教程
java·tomcat
【ql君】qlexcel28 分钟前
Notepad++ 复制宏、编辑宏的方法
开发语言·javascript·notepad++··宏编辑·宏复制
Zevalin爱灰灰37 分钟前
MATLAB GUI界面设计 第六章——常用库中的其它组件
开发语言·ui·matlab
勤奋的知更鸟39 分钟前
Java 编程之策略模式详解
java·设计模式·策略模式
qq_49244844641 分钟前
Java 访问HTTP,信任所有证书,解决SSL报错问题
java·http·ssl
爱上语文44 分钟前
Redis基础(4):Set类型和SortedSet类型
java·数据库·redis·后端
冰糖猕猴桃44 分钟前
【Python】进阶 - 数据结构与算法
开发语言·数据结构·python·算法·时间复杂度、空间复杂度·树、二叉树·堆、图
lifallen1 小时前
Paimon vs. HBase:全链路开销对比
java·大数据·数据结构·数据库·算法·flink·hbase