3.字节输出流FileOutputStream写出数据的三种方式

一.FileOutputStream类写出数据的3种方式:

  • 上述图片的第一个write方法用于一次只写一个字节数据

  • 上述图片的第二个write方法用于一次写出多个字节数据,其中需要把要写出的数据先放到一个byte类型的数组中,再把整个byte数组中的数据写到文件中->顺序是把byte数组里的元素依次写入指定文件中

  • 上述图片的第三个write方法是只把b数组里的一部分数据写到指定文件中->第一个参数byte[] b就是装着要输出的数据的数组;第二个参数int off是起始索引;第三个参数int len表示要截取的个数->比如起始索引off为0,len为3,表示要写出的数据是从b数组里的0索引开始,一共写3个数据


二.代码演示:

以下所有的演示都操作在当前模块下的a.txt文件。

1.void write(int b)方法:用于一次写一个字节数据

代码:

package com.itheima.mybytestream;
​
import java.io.FileOutputStream;
import java.io.IOException;
​
public class ByteStreamDemo3 {
    public static void main(String[] args) throws IOException {
        //1.创建字节输出流对象->参数传入要操作的文件的地址
        FileOutputStream fos = new FileOutputStream("a.txt");
​
        //2.写出数据
        fos.write(97); //写入文件中的是97在ASCII码中对应的字母a
        fos.write(98);
​
        //3.释放资源
        fos.close();
    }
}

运行结果:

2.void write(byte[] b)方法:用于一次写一个字节数组数据

代码:

package com.itheima.mybytestream;
​
import java.io.FileOutputStream;
import java.io.IOException;
​
public class ByteStreamDemo3 {
    public static void main(String[] args) throws IOException {
        //1.创建字节输出流对象->参数传入要操作的文件的地址
        FileOutputStream fos = new FileOutputStream("a.txt");
​
        //2.写出数据
        /*2.1.创建一个byte数组,把要往文件里写的所有数据都放到该数组中 */
        byte[] bytes = {97, 98, 99, 100, 101};
        /*2.2.调用write方法*/
        fos.write(bytes);
​
        //3.释放资源
        fos.close();
    }
}

运行结果:

3.void write(byte[] b, int off, int len)方法:用于一次写一个字节数组的部分数据

代码:

package com.itheima.mybytestream;
​
import java.io.FileOutputStream;
import java.io.IOException;
​
public class ByteStreamDemo3 {
    public static void main(String[] args) throws IOException {
        //1.创建字节输出流对象->参数传入要操作的文件的地址
        FileOutputStream fos = new FileOutputStream("a.txt");
​
        //2.写出数据
        /*2.1.创建一个byte数组,把要往文件里写的所有数据都放到该数组中 */
        byte[] bytes = {97, 98, 99, 100, 101};
        /*2.2.调用write方法*/
        fos.write(bytes, 1, 2); //表示在bytes数组中从1索引开始,写2个数据到文件中->1索引是98,写2个数据就是只写98和99
​
        //3.释放资源
        fos.close();
    }
}

运行结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值