io流

可以理解为由水管连接 数据像水流一样在水管中流动

字节流:

 

  • InputStream
    • FileInputStream (文件输入字节流)
    • FilterInputStream (装饰器 抽象类)
      • BufferedInputStream (缓冲输入字节流)
      • DataInputStream (基本数据类型输入字节流) (与DataOutputStream搭配使用)

示例:

InputStream in =

new BufferedInputStream(new FileInputStream(filePath)) ;

 

 

  • OutputStream
    • FileOutputStream (文件输出字节流)
    • FilterOutputStream (装饰器 抽象类)
      • BufferedOutputStream (缓冲输出字节流)
      • DataOutputStream (基本数据类型输出字节流) (与DataInputStream搭配使用)

示例:

OutputStream out =

new PrintStream(new BufferedOutputStream(

new FileOutputStream(filePath))) ;

 

  • RandomAccessFile (自我独立的类)

其中构造器还需要传入第二个参数 r:随机读 rw:读写

有定位当前所处的文件位置,文件内移动位置,判断文件大小,标注位置,重新设定位置等操作

但是其大多数功能由nio存储映射文件所取代

示例:

RandomAccessFile raf = new RandomAccessFile(filePath,"rw") ;

 

 

解析DataInputStream 与 DataOutputStream

只要两个平台都有java那么使用这两个字节流就不会出现数据不同的情况 但是我们必须要知道流中数据的确切位置(可使用对象序列化或者XML的方式解决)

 

 

字符流:

  • Reader
    • FileReader (文件字符输入流)
    • FilterReader (修饰器 抽象类)
      • BufferedReader (缓冲字符输入流)
    • 与字节流的适配器 InputStreamReader

示例:

BufferedReader reader =

new BufferedReader(new FileReader(filePath) ;

适配器使用示例:

Reader reader =

new BufferedReader(new InputStreamReader(

new FileInputStream(filePath))) ;

 

  • Writer
    • FileWriter (文件字符输出流)
    • PrintWriter (格式化字符输出流)
    • FilterWriter (修饰器 抽象类)
      • BufferedWriter (缓冲字符输出流)
    • 与字节流的适配器 OutputStreamWriter

示例:

PrintWriter writer = new PrintWriter(filePath) ; (默认使用缓冲流)

适配器使用示例:

PrintWriter writer =

new PrintWriter(new BufferedWriter(

new OutputStreamWriter(new FileOutputStream(filePath)))) ;

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值