java.io

File:用于文件,文件夹,磁盘操作管理的类,路径管理,建立文件夹mkdir,文件,删除文件夹,文件,是比较传统的文件操作。File.separator产生与平台无关的分隔符。

RandomAccessFile:随机读取文件,用于基本的读写,读取指定文件位置的内容,很类似标准c中的函数,支持读写模式,和偏移量skipbyte,seek。操作较麻烦,一般用流类来代替。

 

程序中输入输出都是以流的形式完成,输入数据用输入流,输出数据用输出流。

 

字节流:输入流InputStream 输出流OutputStream

字符流:输入流Reader输出流Writer

 

步骤:

1.用File指定对象

2.使用字节流和字符流,指定位置,和功能,用装饰者模式完成流链接

3.读写操作

4.关闭流

 

字符流比字节流慢,因为字符流用到了一个缓冲区,而且最终都是以字节流完成操作的。

 

   字节流  字符流 
抽象接口  输入流  输出流  输入流  输出流 
  InputStream System.in   OutputStream Reader Writer
子类被装饰者(表示目的地)文件流(文件操作)  FileInputStream FileOutputStream FileReader Writer
内存流(以内存为操作点)  ByteArrayInputStream ByteArrayOuputStream      
管道流(线程间通讯)  PipedInputStream PipedOutputStream      
打印流(任意类型,任意格式的输出)     PrintStream Systeam.out System.err      PrintWriter
装饰者(表示功能)  转换流(将字节流转换成字符流)        InputStreamReader OutputStreamWriter
缓冲流(缓冲区大小可变内容可变)  BufferedInputStream BufferedOutputStream BufferReader BufferWriter
数据流(平台无关性,格式化)  DataInputStream DataOutputStream      
对象流(对象序列化,反序列化)  ObjectInputStream ObjectOutputStream      

 

内存操作流,以内存操作点,不是以程序为操作点。内存操作很像c中的sprintf。

 

System.out in err通过控制台输入输出,使用重定向,可以更好使用这些对象。

 

BufferedReader是比System.in更好的,输入中文的流。缓冲区的大小,内容是可以改变的。可以读取一行数据readline

 

Scanner更好的完成BufferedReader的功能,并且对数据进行验证。注意分隔符。

 

合并流SequenceInputStream用把两个InputStream合并在一起。

 

java.util.zip包中提供了关于zip的流和类。

 

 

对象流这玩意在写数据库或者写游戏存档记录的时候,肯定很好用。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值