一、总述
在Java中 FileOutputStream
写出数据一共有三种方式。
方法二:如果需要一次写多个数据,可以先将它放到一个 byte
类型的数组中,把整个数组中的数据写到文件中就行了。
方法三:当然我们也可以写数组的一部分。
![image-20240502180241505](https://img-blog.csdnimg.cn/img_convert/70523239c44cbb993fe104ffedbb1fe2.png)
二、write(int b)
- 虽然参数为int类型四个字节,但是只会保留一个字节的信息写出。
- 流操作完毕后,必须释放系统资源,调用close方法,千万记得。
//1.创建对象
FileOutputStream fos = new FileOutputStream("myio\\a.txt");
//2.写出数据
fos.write(97); // 真正写到文件上的是97在ASCII码表中所对应的字符a
fos.write(98); // b
//3.释放资源
fos.close();
三、write(byte[] b)
在创建对象的时候,这个代码有个规则:
-
如果文件不存在会创建一个新的文件,但是要保证父级路径是存在的。
-
如果文件已经存在,则会清空文件。
因此我们这次写数据时,只剩下 abcde
//1.创建对象
FileOutputStream fos = new FileOutputStream("myio\\a.txt");
//2.写出数据
byte[] bytes = {97, 98, 99, 100, 101};
fos.write(bytes);
fos.write(bytes);
//3.释放资源
fos.close();
四、write(byte[] b, int off, int len)
参数一 b:
数组
参数二 off:
起始索引
参数三 len:
个数
//1.创建对象
FileOutputStream fos = new FileOutputStream("myio\\a.txt");
byte[] bytes = {97, 98, 99, 100, 101};
fos.write(bytes);
fos.write(bytes,1,2);// b c,从1索引开始写,一共写2个
//3.释放资源
fos.close();