java 20 - 5 字节输出流写出数据的一些方法

时间:2024-12-14 22:36:14

首先回顾下

字节输出流操作步骤:
   A:创建字节输出流对象
   B:调用write()方法
   C:释放资源

创建字节流输出对象

FileOutputStream fos = new FileOutputStream("fos.txt");

先介绍字节输出流的write方法:

  public void write(int b):写一个字节
  public void write(byte[] b):写一个字节数组
  public void write(byte[] b,int off,int len):写一个字节数组的一部分

1、public void write(int b):写一个字节

fos.write(97); //结果是a

97 -- 底层二进制数据 -- 通过记事本打开 -- 找97对应的字符值 -- a7

此时若想输出97,只能这样:后面会有直接输出97之类的数字的方法

fos.write(57); //
fos.write(55); //

2、public void write(byte[] b):写一个字节数组

byte[] bys={97,98,99,100,101};
//byte[] bys={'a','b','c','d','e'}; //结果一样的

3、public void write(byte[] b,int off,int len):写一个字节数组的一部分

fos.write(bys,1,3); //txt里面的文本是:abcdebcd

字节输出流的write方法介绍完毕,释放资源

fos.close();

字节输出流写出数据实现 换行  和  追加写入

追加写入:每运行一次程序,那么就会在文本里面再次添加程序中要写入的内容

创建字节流输出对象

FileOutputStream fos = new FileOutputStream("fos.txt");

1、如何实现数据的换行?

  再写出的数据后面加换号符号就可以了。

  注意:不同的系统针对不同的换行符号识别是不一样的:  

  windows:\r\n
  linux:\n
  Mac:\r
    而一些常见的个高级记事本,是可以识别任意换行符号的。

  这样子的话,跨平台会容易出错,所以后面会有方法让程序自动识别系统来改变换号符号。

1、写入数据,实现换行

        for (int x = 0; x < 10; x++) {
fos.write(("hello" + x).getBytes());
fos.write("\r\n".getBytes());
}

2、如何实现数据的追加写入?

用构造方法带第二个参数是true的情况即可,也就是说创建字节流对象的时候要进行定义

FileOutputStream fos = new FileOutputStream("fos3.txt", true);