根据我的工作经验和我的学习,对Java的IO操作进行总结:
计算机所有的操作都是输入输出,中间加处理的过程。
java对输入输出的操作都包含在java.io.*包中,
字节流 字符流
输入流 InputStream Reader
输出流 OutputStream Writer
java对操作的方向不同,可以分为:输入流和输出流
java对操作的单位不同,可以分为:字节流和字符流
java还分为:节点流和处理流.
常用的流列出如下:
文件字节流操作的:FileInputStream/FileOut put Stream
文件字符流操作的:FileReader/FileWriter
缓冲字节流:BufferedInputStream/BufferedOutputStream
缓冲字符流:BufferedReader/BufferedWriter;
转换流:InputStreamReader/OuptStreamWriter 字节流转换成字符流
字节数组流:ByteArrayInputStream/ByateArrayOutStream
数据流 DataInputStream/DataOutputStream 提供对java底层的基本数据类型的读写操作,
对象流:ObjectInputStream/ObjectOutputStream
对象输入输出流需要对对象的输入输出类进行序列化,继承Serilizable接口,如果需要反序列化则需要进行Externalizable接口. transient关键字是提供成员变量不考虑此成员变量。
打印流:PrintStream/PrintWriter 此流特殊,主要是对所有文件的输出操作,此类无输入操作。便于使用jsp页面的输出,且不报告任何异常