第五篇 输入输入流
Java流有着另一个重要的用途,那就是利用对象流对对象进行序列化。下面将开始介绍这方面的问题。
在一个程序运行的时候,其中的变量数据是保存在内存中的,一旦程序结束这些数据将不会被保存,一种解决的办法是将数据写入文件,而Java中提供了一种机制,它可以将程序中的对象写入文件,之后再从文件中把对象读出来重新建立。这就是所谓的对象序列化Java中引入它主要是为了RMI(Remote Method Invocation)和Java Bean所用,不过在平时应用中,它也是很有用的一种技术。
Reader
FileReader
BufferedReader
Writer
FileWriter
BufferedWriter
InputStream
FileInputStream
BufferedInputStream
DataInputStream
OutputStream
FileOutputStream
BufferedOutputStream
DataOutputStream
转换流
InputStreamReader
OutputStreamWriter
File
FileFilter
RandomAccessFile
PrintWriter
(1)节点流
PrintWriter ps=new PrintWriter("demo.txt","utf-8");
File f=new File("demo.txt");
PrintWriter ps=new PrintWriter(f,"utf-8");
(2)处理流
FileWriter fw=new FileWriter("demo.txt");
PrintWriter ps=new PrintWriter(fw,true);[println() printf() format()]
OutputStreamWriter ow=new OutputStreamWriter();
和文件操作相关的集合类:
Map key=value;键值对
java.util.Properties是集合类型,键和值都是String
IO
PrintStream
PrintWriter
DataInputStream
DataOutputStream
ObjectInputStream
ObjectOutputStream
java.util.Properties--集合类key-value
load() list() store() save()和输入输出流相关的方法
SequenceInputStream 将几个输入流合并成一个流
InputStream的子类有:
FileInputStream,FilterInputStream,ObjectInputStream,StringBufferInputStream等
OutputStream的子类有:
ByteArrayOutputStream,FileOutputStream,FilterOutputStream,PipedOutputStream,ObjectOutputStream。
Reader的子类有:BufferdReader,InputStreamReader,FilterReader,StringReader,PipedReader,CharArrayReader。
Writer的子类有: BufferedWriter,CharArrayWriter,FilterWriter,OutputStreamWriter,PipedWriter,PrintWriter,StringWriter。