文件与输入/输出处理

本文详细介绍了Java中IO流的概念及使用,包括InputStream、OutputStream、Reader和Writer等核心类的功能与区别。此外还介绍了不同类型的流如文件流、缓冲流、对象序列化流等的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
计数LineNumberInputStreamLineNumberReader
重复PushbackInputStreamPushbackReader
打印PrintStreamPrintWriter

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

对象序列化

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值