IO的作用是为了处理设备之间数据的传输问题,例如文件的上传和下载
IO的分类:
按照流向 : 输入流 , 输出流
按照传输数据类型 : 字节流 , 字符流
具体分为:字节输入流 InputStream,字节输出流 OutputStream,字符输入流 Reader,字符输出流 Writer
字节流可以处理所有类型数据格式的传输,例如图片和视频。字符流只可以处理文本格式数据的传输。先有字节流,后又字符流
字节输出流OutputStream是抽象类 ,该类直接继承java.lang.Object,是所有字节输出流的超类,其最常用的子类FileOutputStream
例子:使用字节输出流向文件中写入数据
//----------使用字节输出流向文件中写入数据----------------
//创建字节输出流对象
//执行new FileOutputStream("test.txt") 方法经过三个步骤 1,创建File文件对象 2,创建OutputStream对象 3,将输出流对象指向File文件对象
OutputStream out = new FileOutputStream("test.txt");
//-----------字节输出流 OutputStream的三种写数据方式------------
//一次写入一个字节
out.write('a');
//一次写入一个字节数组
out.write("你好啊,我的朋友".getBytes());
//一次写入一个字节数组的一部分,从某处开始,多少长度
//将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流
//此处为将byte数组中从0开始的3个字节写入此输出流
out.write("hellomyfriend".getBytes(), 0, 3);
//释放资源
out.close();