简单的介绍

  • 文件输出流是指数据从自己的程序中输出到文件当中去
  • 文件输入流是指数据从文件中读取到自己的程序中来
  • java.io.OutputStream 是所有字节输出流的超类,他是一个超类,不能够直接使用的,只能使用其子类
  • 字节流:每次只能从程序中操作文件的一个字节

流的使用步骤:

  • 1:创建流子类的对象,绑定数据的目的,
  • 2.调用流对象的方法写write()
  • 3.关闭流close(),释放资源

代码演示

package com.day23;

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

/*
 * 文件输出流是指数据从自己的程序中输出到文件当中去
 * 文件输入流是指数据从文件中读取到自己的程序中来
 * 
 * 字节输出流
 *  java.io.OutputStream 是所有字节输出流的超类,他是一个超类,不能够直接使用的,只能使用其子类
 *  作用:从Java程序中写出文件
 *  字节流:每次只能从程序中操作文件的一个字节
 *  可以用来写任意的文件
 *  
 *  输出流就两个方法
 *  write(),三中重载方式,包括write(int i),write(byte[] b),write(byte[] b,int off,int len)
 *  close()
 *  
 *  流对象都是相辅相成的,有输入必有输出,有输出也就必有输入
 *  
 *  FileOutputStream的使用:
 *  写入数据文件,学习父类的方法,使用子类的对象
 *  
 *  子类的构造方法:作用:绑定数据的输出目的
 *  参数:
 *   File:封装文件
 *   String:字符串文件
 *  
 *  流的使用步骤:
 *  1:创建流子类的对象,绑定数据的目的,
 *  2.调用流对象的方法写write()
 *  3.关闭流close(),释放资源
 *  
 *  流对象的构造方法可以直接根据路径创建一个全新的文件,如果文件先前已经存在了,那么就会直接全部覆盖掉
 *  
 *  IOException异常包括了FileNotFoundExeption等异常,在这整章里就用这个异常够了
 */

public class OutPutStreamDemo1 {

	public static void main(String[] args) throws IOException {
		FileOutputStream fos = new FileOutputStream("F:\\abc\\a.txt");
	
		//流对象方法写文件,一次写一个字节
		fos.write(100);//这里的100代表的是ASCII码中的小写字母d,他只是一个字节
		
		//如果想要在文件当中输出一个数字100,必须分成3个字节进行输出
		fos.write(49);//49代表的ASCII码值是1
		fos.write(48);//48代表的ASCII码值是2
		fos.write(48);//48代表的ASCII码值是2
		
		//创建一个字节数组,写入一个字节数组
		byte[] bs = {' ',65,66,67,68};
		fos.write(bs);
		
		//写入字节数组的一部分
		fos.write(bs,1,2);//其中的1代表的是写入的起始位置,而2代表的是写入的长度
		
		//也可以直接利用String这个类中的getBytes()方法进行入字符数组
		fos.write("  hello".getBytes());
		
		//关闭资源
		fos.close();
	}
	
}