java.io.FileOutputStream:文件字节输出流

java.io.FileOutputStream:文件字节输出流

  • 作用:以内存为基准,把内存中的数据以字节的形式写出到文件中去。

常用构造器

  • public FileOutputStream(File file):创建字节输出流管道与文件对象接通。
  • public FileOutputStream(String name):创建字节输出流管道与源文件路径接通。
  • public FileOutputStream(File file, boolean append):创建字节输出流管道与文件对象接通,可追加数据。
  • public FileOutputStream(String name, boolean append):创建字节输出流管道与源文件路径接通,可追加数据。

常用方法

  • public void write(int b):写一个字节出去。
  • public void write(byte[] b) throws IOException:写一个字节数组出去。
  • public void write(byte[] b, int off, int len):写一个字节数组的一部分出去。
  • public void close():关闭流。

write(int b)方法

示例:每次写一个字节出去

package com.team.output_byte_stream;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class Test {

    public static void main(String[] args) throws IOException {
        OutputStream os = new FileOutputStream("oop-app1/src/com/team//output_byte_stream/output.txt");

        os.write(65);
        os.write(66);

        os.close();
    }
}

运行,输出到output.txt文件中的内容为:
在这里插入图片描述

示例:用write(int b)写中文出去出现问题

package com.team.output_byte_stream;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class Test {

    public static void main(String[] args) throws IOException {
        OutputStream os = new FileOutputStream("oop-app1/src/com/team//output_byte_stream/output.txt");

        os.write('好');

        os.close();
    }
}

运行,输出到文件的内容:
在这里插入图片描述

分析:‘好’ 可以转为整数,但UTF-8编码,‘好’ 占3个字节,而write(int b)方法一次只能写一个字节出去,所以出现问题。

write(byte[] b)方法

示例:一次写多个字节出去

package com.team.output_byte_stream;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class Test {

    public static void main(String[] args) throws IOException {
        OutputStream os = new FileOutputStream("oop-app1/src/com/team//output_byte_stream/output.txt");

        byte[] bytes = "好的hello".getBytes();
        os.write(bytes);

        os.close();
    }
}

运行,输出到文件中的内容:
在这里插入图片描述

write(byte[] b, int off, int len)方法

示例:一次写字节数组的一部分出去

package com.team.output_byte_stream;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class Test {

    public static void main(String[] args) throws IOException {
        OutputStream os = new FileOutputStream("oop-app1/src/com/team//output_byte_stream/output.txt");

        byte[] bytes = "好的hello".getBytes();
        os.write(bytes, 0, 6);

        os.close();
    }
}

运行,输出到文件中的内容:
在这里插入图片描述

FileOutputStream(String name, boolean append)构造追加文件输出管道

示例:在文件中追加数据

开始文件中的内容:
在这里插入图片描述

现在文件中追加数据:

package com.team.output_byte_stream;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class Test {

    public static void main(String[] args) throws IOException {
        OutputStream os = new FileOutputStream("oop-app1/src/com/team/output_byte_stream/output.txt", true);

        byte[] bytes = "今天气温回升了".getBytes();
        os.write(bytes);

        os.close();
    }
}

运行以后,输出文件中的内容为:
在这里插入图片描述

示例:在文件中写入换行

package com.team.output_byte_stream;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class Test {

    public static void main(String[] args) throws IOException {
        OutputStream os = new FileOutputStream("oop-app1/src/com/team/output_byte_stream/output.txt", true);

        byte[] bytes = "今天气温回升了".getBytes();
        os.write(bytes);

        os.write("\r\n".getBytes());

        os.close();
    }
}

第一次执行,输出文件中的内容为:
在这里插入图片描述

再执行一次,输出文件中的内容为:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值