`
yjf997234900.
  • 浏览: 7416 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

黑马程序员-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学习型技术博客、期待与您交流! ------------

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics