文件与输入/输出处理

InputStream和OutputStream是以byte字节为单位的,有时我们要以字符(character)为单位,这时就要改用Reader和Write这两个类或其他类来处理字符数据. 所以在java.io包中有两大继承体系,一是以byte处理为主的stream类,它们的命名方式都是以xxxxStream, 另一继承体系是以字符处理为主的Reader/Writer类,它们的命名方式都是以xxxReader或xxxWrite

 

节点类
种类\继承体系 字节 字符
文件(File) FileInputStream  FileOutputStream     FileReader,   FileWriter
内存(数组) ByteArrayInputStream, ByteArrayOutputStream CharArrayReader, CharArrayWriter
内存(字符串) StringReader, StringWriter
管道(Pipe) PipeInputStream, PipeOutputStream PipeReader, PipeWriter

 

  • InputStream 是输入字节数据用的类.
  • OutputStream 是输出字节数据用的类
  • Reader 是输入字符数据用的类
  • Writer是输出字符数据用的类

文件访问

  • FileInputStream
  • FileOutputStream
  • FileReader  处理文本文件的读
  • FileWriter   处理文本文件的写
  • RandomAccessFile 继承Object类, 可以任意地访问文件中任何位置的数据.

数据流包装类

种类\继承体系 字节 字符
暂存(Buffering) BufferInputStream, BufferedOutputStream BufferedReader, BufferedWriter
字符和字节转换 InputStreamReader, OutputStreamWriter
对象串行化 ObjectInputStream, OjbectOutputStream
特定数据类型访问 DataInputStream, DataOutputStream
计数 LineNumberInputStream LineNumberReader
重复 PushbackInputStream PushbackReader
打印 PrintStream PrintWriter

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

对象序列化

要序列化的类实现Serializable这个标记接口, 如果类的哪个属性不想序列化, 只要在属性前加上transient修饰符即可

你可能感兴趣的:(文件)