字节流写数据

先了解一下有关字节流的两个类。InputStream、OutputStream类

 

字节流写数据的练习

 

字节流写输入的三种方式

方法名说明
void write(int b)将指定的字节写入此文件输出流,一次写一个字节数据
void write(byte[] b)将b.length字节从指定的字节数组写入此文件输出流,一次写一个字节数组数据
void write(byte[] b,int off,int len)将len字节从指定的字节数组开始,从偏移量off开始写入此文件输出流,一次写一个字节数组的部分数据

 

字节流写输入三种方式的练习

 

字节流写数据的两个小问题

第一个小问题:字节流写数据如何换行 1、写完数据后,加换行符。比如windows:\r\n linux:\n mac\r

第二个小问题:字节流写数据如何实现追加写入呢 1、public FileOutputStream(String name,boolean append) 2、创建文件输出流以指定的名称写入文件。如果第二个参数为true,则字节将写入文件的末尾而不是开头

 

字节流写数据两个小问题的练习

 

字节流写数据加异常处理

finally:在异常处理时提供finally块来执行所有清除操作。比如说IO流中的是否资源

finally块的特点:被finally控制的语句一定会执行,除非JVM退出

异常处理的写法格式

 

字节流写数据加异常处理的练习

 

字节流读数据_一次读一字节

需求:把文件fos.txt中的内容读取出来在控制台输出

读数据使用的是FileInputStream类,该类在java.io包下。该类是具体类,继承自InputStream

该类的作用是从文件系统中的文件获取输入字节

该类常用的构造方法:FileInputStream(String name),作用是通过打开与实际文件的连接来创建一个FileInputStream,该文件由文件系统中的路径名name命名

使用字节输入流读数据的步骤,如下 1、创建字节输入流对象 2、调用字节流对象的读数据方法,读数据的方法我们用的是FileInputStream类里面的read()方法,返回值类型是int 3、释放资源

 

字节流读数据_一次读一字节的练习

 

字节流复制文本文件

案例:复制文本文件 需求:把'D:\huanf\java\src\ch18储物区\fos3.txt'复制到'D:\huanf\java\src\ch18储物区\JavaSE\fos3.txt'

分析: 1、复制文本文件,其实就把文本文件的内容从一个文件中读取出来(数据源),然后写入到另一个文件中(目的地) 2、读数据用InputStream,但是InputStream是抽象类,所以我们要使用的是FileInputStream 3、写数据用OutputStream,但是OutputStream是抽象类,所以我们要使用的是FileOutputStream

思路: 1、根据数据源创建字节输入流对象 2、根据目的地创建字节输出流对象 3、读写数据,复制文本文件,一次读取或写入一个字节 4、释放资源

 

字节流复制文本文件的练习

 

字节流读数据_一次读一字节数组

需求:把文件fos.txt中的内容读取出来在控制台输出

使用字节输入流读数据的步骤,如下 1、创建字节输入流对象 2、调用字节输入流对象的读数据方法 3、释放资源

 

字节流读数据_一次读一字节数组的练习

 

字节流复制图片

需求:把"D:\huanf\java\src\ch18储物区\壁纸3.jpg"复制到"D:\huanf\java\src\ch18储物区\JavaSE"里面

思路: 1、根据数据源创建字节输入流对象 2、根据目的地创建字节输出流对象 3、读写数据,复制图片,一次读取或写入一个字节数组 4、释放资源

 

字节流复制图片的练习