流——字节输入输出
一、InputStream(字节输入流基类)
读取操作:
(一)打开特定的输入流,可能会抛出FileNotFoundException异常。
(二)读取操作,返回值为-1表示读取结束,可能会抛出IOException异常。
(三)关闭流,可能会抛出IOException异常。
二、OutputStream(字节输出流基类)
写入操作:
(一)打开特定的字节输出流,可能会抛出FileNotFoundException异常。
注:写入时,如果文件不存在,会自动创建文件并写入;如果给的文件目录路径是非法路径,会抛出异常。
(二)写入操作,可能会抛出IOException异常。
(三)关闭流。
流的使用规律:
1、明确是读操作还是写操作
(数据源是当前程序或者数据目的地是当前程序)
读:InputStream/Reader
写:OutputStream/Writer
2、明确是操作字节还是字符
读:
字节:InputStream
字符:Reader
写:
字节:OutputStream
字符:Writer
(明确操作基类)
3、操作的具体介质
读:
文件:File
内存:char、array、double
网络:Socket
键盘:System.in
写:
文件:File
内存:char、array
网络:Socket
屏幕:System.out
(明确操作的具体类)
4、明确是否需要额外操作
缓冲区:BufferXXX
转换:InputStreamReader、OutputStreamWriter