一.OutputStream类介绍
JDK API文档描述:
此抽象类是表示输出字节流的所有类的超类。输出流接受输出字节并将这些字节发送到某个接收器。
作用:(个人理解)
Java程序运行时的数据是存储在内存当中的,这意味当我们停止Java程序或者关闭电脑后,所有的数据都会从内存中清除,有时我们想要保留一些数据在下次运行程序时来使用,这时就可以使用到OutputStream类为我们提供的一些功能,把我们所需要的数据写入到一个文件当中,保存到硬盘上。
二.OutputStream类中的方法
由于OutputStream是一个抽象类,所以,想要使用其中的方法,必须要有子类继承并重写其中的方法,下面将使用其子类FileOutputStream来演示其中的方法
package com.xiao.OutputStream;
import org.junit.Test;
import java.io.FileOutputStream;
/**
* @Author 笑笑
* @Date 20:55 2018/05/01
*/
public class OutputStreamDemo_01 {
// void write(int b) 将指定字节写入此文件输出流。
@Test
public void test_01() throws Exception{
//构造方法 FileOutputStream(String name) 创建一个向具有指定名称的文件中写入数据的输出文件流。
//如果指定的文件不存在,会帮我们创建该文件;如果文件已存在,会覆盖原文件的内容
FileOutputStream fos = new FileOutputStream("c:\\1.txt");
//写入一个字节(100的二进制为:1100100),文件中会显示为小写字母d,这是因为会查ASCII表
fos.write(100);
//关闭资源
fos.close();
}
// void write(byte[] b) 将 b.length 个字节从指定 byte 数组写入此文件输出流中。
@Test
public void test_02() throws Exception{
FileOutputStream fos = new FileOutputStream("c:\\1.txt");
//定义一个字节数组
byte[] b = {65,66,67};
//写入一个字节数组,文件中显示大写字母ABC
fos.write(b);
//关闭资源
fos.close();
}
// void write(byte[] b, int off, int len) 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此文件输出流。
@Test
public void test_03() throws Exception{
FileOutputStream fos = new FileOutputStream("c:\\1.txt");
//定义一个字节数组
byte[] b = {65,66,67};
//写入一个字节数组,第一个整数表示起始索引,第二个整数表示从起始索引开始写入的个数,文件中显示大写字母AB
fos.write(b,0,2);
//写入字符串
fos.write("你好".getBytes());
//关闭资源
fos.close();
}
}