IO基础
IO的意思是指以程序为中心,使得数据进行传输。
IO,顾名思义是代表输入流与输出流
从数据来看分为:
字节流:二进制,可以处理所有类型的文件
字符流:字符类型,只能处理纯文本文件
从功能来看分为:
节点流:从/向一个特定节点读写数据。
处理流:是对节点流的连接和封装,可以通过节点流的功能来实现数据读写。
先来看字节流类方法:
输入流:InputStream类:read(byte[] b); read(byte[] b, int off, int len); close();
输出流:OutputStream类:write(byte[] b); write(byte[] b, int off, int len); close();
具体操作步骤:
1.建立与文件的联系
2.选择对应流
3.读取|写入
4.释放资源
代码如下:
输入流
输出流
再来看字符流的操作步骤,其实就步骤而言跟字节流是差不多的,直接看代码:
字符流的读取
而字符流的写入也同字节流的写入差不多。
就功能来看,处理流要是起增强功能,提高性能的作用,如缓冲流、转化流等。
缓冲流:
1.字节缓冲流
BufferedInputStream()
BufferedOutputStream()
2.字符缓冲流
BufferedReader()
BufferedWriter()
它们的操作跟节点流中差不多
转换流: 字节流转换为字符流 可以处理乱码
1.编码与解码的概念
二进制 --> 字符(解码)
字符 --> 二进制(编码)
2.乱码出现的情况
a.编码与解码的字符集不统一
b.字节的缺少,长度的丢失
另外还有其他流。。。