黑马程序员-IO流

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

这几天在学IO流,今天在这里做一个总结

四个基类流对象

 输入流:InputStream Reader             //都是抽象类,本身不能创建实例

   |------->FileInputStream FileReader //用与读取文件的输入流,执行输入

 FileInputStream fis=new FileInputStream("FileInputStreamTest.java");//创建字节输入流,读取的文件是FileInputStreamTest.java
  byte[] bbuf=new byte[1024];             //创建一个长度为1024的"竹筒",相当于缓存区
  int hasRead=0;                           //用于保存实际读取得字节数
  while((hasRead=fis.read(bbuf))!=-1)      //重复"取水"过程,读到文件尾为-1
  {
     System.out.println(new String(bbuf,0,hasRead));//取出"竹筒"中的水滴(字节),将字节数组转换成字符串输出
  } 
  fis.close();       

 

  FileReader fr=new FileReader("FileReaderTest.java");//创建字节输入流,读取的文件是FileInputStreamTest.java
  char[] cbuf=new char[1024];             //创建一个长度为1024的"竹筒",相当于缓存区
  ......

 

 输出流:OutputStream Writer

   |------->FileOutputStream FileWriter //用与写入到文件的输出流,执行输出

 FileInputStream fis=new FileInputStream("FileInputStreamTest.java");//创建字节输入流,读取的文件是FileInputStreamTest.java
  FileOutputStream fis=new FileOutputStream("FileInputStreamTest_Copy.txt");//创建字节输出流,写入到的文件是FileInputStreamTest_Copy.txt
  byte[] bbuf=new byte[1024];             //创建一个长度为1024的"竹筒",相当于缓存区
  int hasRead=0;                           //用于保存实际读取得字节数
  while((hasRead=fis.read(bbuf))!=-1)      //重复"取水"过程,读到文件尾为-1
  {
     fos.write(bbuf,0,hasRead);         //每读取一次,即写入文件输出流
  } 
  fis.close();                             //关闭流资源

 

 字节流:InputStream OutputStream       //操作的最小数据单位是8位的字节

 字符流:Reader      Writer             //操作的最小数据单位是16位的字符

 

我们发现其实IO流是很有规律:

现在付上一个表,将基本的IO流对象列出来:

 

分类

字节输入流

字节输出流

字符输入流

字符输出流

抽象基类

InputStream

OutputStream

Reader

Writer

访问文件

FileInputStream

FileOutputStream

FileReader

FileWriter

访问数组

ByteArrayInputStream

ByteArrayOutputStream

CharArrayReader

CharArrayWriter

访问管道

PipedInputStream

PipedOutputStream

PipedReader

PipedWriter

访问字符串

 

 

StringReader

StringWriter

缓冲流

BufferedInputStream

BufferedOutputputStream

BufferedReader

BufferedWriter

转换流

 

 

InputStreamReader

OutputStreamWriter

对象流

ObjectInputStream

ObjectOutputStream

 

 

抽象基类

FilterInputStream

FilterOutputStream

FilterReader

FilterWriter

打印流

 

PrintStream

 

PrintWriter

推回输入流

PushbackInputStream

 

PushbackReader

 

特殊流

DataInputStream

DataOutputStream

 

 

 ----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值