IO流(成对出现)小结

InputStream、OutputStream、Reader、Writer四个顶层抽象类。
只要不是文本文件,读都用read();文本文件用readLine();

InputStream(抽象类):输入流的根,处理字节。此类中有一个read()方法,这个方法一次只读取一个字节,返回结果即为读取到的字节。如果读到头了则返回-1。

Outputstream(抽象类):输出流的根。处理字节。此类中有一个write()方法,一次只写一个字节(由参数传入),没有返回值。

(1)FileInputStream:最常用的类,把存在磁盘上文件的内容读到到程序中,
(2)FileOutputstream:最常用的类,把程序中处理的结果写到文件中去

网络io:存在其他设备上的文件(或者其他服务器上的资源)的输入输出(不是本地)
对于大多数文件除了.exe的文件,都是看的,处理的是字符,就用reader或者writer。

(1)Reader。输入流。处理字符。Read()方法一次读取一个字符(两个字节),返回结果为读取的字符对应的int值。如果读到头了返回-1
(2)Writer。输出流。处理字符。Write()方法一次写一个字符(由参数传入),没有返回值。
(3)处理字符的时候要设置字符集。对于java来说是utf-8

①Filereader:面向字符的文本文件(读进来)
Filewriter:面向字符的文本文件(写出去)

四种缓冲流

BufferedInputStream。带缓冲区的输入流。读字节。
BufferedOutputStream。带缓冲区的输出流。写字节。
BufferedReader。带缓冲区的输入流。读字符。 readline处理文本文件
BufferedWriter。带缓冲区的输出流。写字符。

用bufferedinputstream(面向字节)
用buffedoutputstream写

用bufferedreader(面向字符)
用bufferedwriter写。
java提供了一种换行机制,只有bufferedwriter有,叫做br.newLine();自动根据运行时环境的操作系统生成对应的换行符。

2个转换流

InputStreamReader。将InputStream转换为Reader
OutputStreamWriter。将OutputStream转换为Writer

2个打印流

PrintStream:针对面向字节的打印
Printwriter(绿色标记为常用):针对面向字符的打印。工作中使用频率最高

2个二进制处理流(基本不用)

Datainputstream
Dataoutputstream

Java创建对象的四种方式

1.New构造方法
2.反序列化、序列化
3.Object.clone现在不用了,被序列化和反序列化替代了。因为object只负责浅克隆,基本类型。深克隆是引用类型,需要你自己读取。
4.反射机制

猜你喜欢

转载自blog.csdn.net/classics_moon/article/details/85122520
今日推荐