1 package day8.lesson3; 2 3 import java.io.FileNotFoundException; //是IOException的子类 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 7 /* 8 3 IO流 9 10 3.1 IO流概述和分类 11 12 IO流介绍 13 IO:输入/输出(Input/Output) 14 流:是一种抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输 15 IO流就是用来处理设备间数据传输问题的。常见的应用:文件复制;文件上传;文件下载 16 17 IO流的分类 18 按照数据的流向 19 输入流:读数据 20 输出流:写数据 21 按照数据类型来分 22 字节流 23 字节输入流 24 字节输出流 25 字符流 26 字符输入流 27 字符输出流 28 29 PS:一般来说,IO流的分类时按照数据类型来分的 30 31 IO流的使用场景 32 如果操作的是纯文本文件(记事本打开能看懂内容),优先使用字符流 33 如果操作的是图片、视频、音频等二进制文件(记事本打开看不懂内容),优先使用字节流 34 如果不确定文件类型,优先使用字节流,字节流是万能的流 35 36 3.2 字节流写数据 37 38 字节流抽象基类 39 InputStream:这个抽象类是表示字节输入流的所有类的超类 40 OutputStream:这个抽象类是表示字节输出流的所有类的超类 41 二者的子类名特点:子类名称都是以其父类名作为子类名的后缀 42 43 字节输出流 44 FileOutputStream类:文件输出流用于将数据写入文件 45 构造方法FileOutputStream(String name):创建文件输出流以指定的名称写入文件 46 47 使用字节输出流写数据的步骤 48 创建字节输出流对象(调用系统功能创建了文件,创建字节输出流对象,让字节输出流对象指向文件) 49 调用字节输出流对象的写数据方法 50 释放资源(关闭此文件输出流并释放与此流相关联的任何系统资源) 51 */ 52 public class FileOutputStreamDemo01 { 53 public static void main(String[] args) throws IOException { 54 FileOutputStream fos = new FileOutputStream("stage2\\src\\day8\\lesson3\\fos1.txt"); 55 /* 56 1 调用系统功能创建了文件 57 2 创建字节输出流对象 58 3 让字节输出流对象指向文件 59 */ 60 61 fos.write(97); //字符'a' ASCII 62 fos.write(57); // 字符'9' 63 64 fos.close(); 65 /* 66 1 关闭此文件输出流 67 2 释放与此流相关联的任何系统资源 68 */ 69 } 70 }