JAVA输入输出处理技术
java处理的数据
文件数据
流式数据:字节流(Byte,一次读写8位二进制数) 字符流(Character,一次读写16位二进制数)
java的I/O分类
基于字节操作的I/O接口:InputStream OutputStream(8位)
基于字符操作的I/O接口:Writer Reader(16位)
基于磁盘操作的I/O接口:File
基于网络操作的I/O接口:Socket
InputStream中的方法
close() 关闭输入流,释放相关资源
read(byte[] b,int off,int len) 读入最多len个数据存放到b中,off指示开始存放的偏移位置
OutputStream中的方法
close() 关闭输出流并释放相关资源
flush() 清空缓冲区并强制缓冲区中的数据写出去
write(byte[] b) 将数组b中所有数据写出到流中
FileIntputStream的构造方法
FileIntputStream(File file) 以指定名字的文件对象为数据源建立一个文件输入流
注意事项
1.建立文件输入和输出流一定要处理异常
2.一定要关闭输入和输出流,否则对应的资源无法释放
3.读入字符的变量ch是int型而不是char型
读取文件数据时请务必使用int型变量
顺序输入流SequenceInputStream
可以将多个输入流顺序连接在一起。顺序输入流依次打开每个输入流并读取数据,在读取完毕后将该流关闭,然后自动切换到下一个输入流
管道输入输出流PipedInputStream PipedOutputStream
可以实现程序内部线程间的通信或不同程序间的通信
二者必须相连,有两种方法:
(1)创建管道输入流并连接到指定的输入流,输出流同理
(2)利用connect()方法连接
过滤输入输出流
DataInputStream DataOutputStream,可用于对不同类型数据的读写,以二进制形式处理,定义了多个不同类型数据的读写方法:
readByte() readBoolean() readChar() readInt() readFloat() readDouble()
控制台I/O处理
输入类
Scanner in=new Scanner(System.in)
方法:
nextByte() nextDouble() nextInt() 以某类型获取下一个输入项
nextLine() 读到本行末尾
输出类
System.out.printf