零基础java自学流程-Java语言高级462
作者:互联网
四、字节流(InputStream、OutputStream,两个都是抽象类)
1、I/O流用来处理设备之间的数据传输
InputStream抽象了应用程序读取数据的方式
OutputStream抽象了应用程序写出数据的方式
2、EOF = End 读到 -1 就读到结尾
3、输入流的基本方式主要是读
int b = in.read();//读取一个字节无符号填充到int第八位,-1是EOF
in.read(byte[] buf);//读入多个字节填充的字节数组
4、输出流的基本方式主要是写
out.write(int b);
out.write(byte[] buf);
5、FileInputStream具体实现了文件的读取操作
while((b=in.read())!=-1){读一个文件}
in.close();//一定要记得关闭流释放系统资源
批量读取(速度非常快,效率高) vs. 单字节读取(不适合读大文件,效率很低)
6、FileOutputStream具体实现了向文件中写数据的操作
是删除文件重新创建,还是在原文件上追加内容,看构造方法
自己实现文件的copy操作
out.flush();
out.close();
7、数据输入输出流DataOutputStream/DataInputStream
对流功能的扩展,是一个包装类,可以更加方便的读取int,long,字符等类型数据,本质是使用的一种装饰模式实现的
8、字节缓冲流BufferedInputStream/BufferedOutputStream
为I/O提供了带缓冲区的操作,这种流模式提高了I/O的性能
.write();
.flush();//刷新缓冲区,否则写入不到文件中
.close();
标签:文件,java,读取,int,462,Java,out,字节 来源: https://blog.csdn.net/Limingmingaa/article/details/122839814