好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java 流(Stream)简介:2、Reader 和 Writer

Java 流(Stream)简介:2、Reader 和 Writer

http://blog.csdn.net/YidingHe/article/details/4093982

Java 流(Stream)简介:2、Reader 和 Writer

分类: Java 技术 2009-04-20 11:39 818人阅读 评论 (1) 收藏 举报

介绍了 InputStream 和 OutputStream,接下来介绍 Reader 和 Writer。这两个类其实就是将 InputStream 和 OutputStream 包装了一下。不过它们处理的不是字节(byte),而是字符(char)。如果一个流当中的内容都是文本,那么用 Reader/Writer 处理起来会简单些。下面是一个用 Reader 读取文本文件的例子:

view plain

import  java.io.FileReader;   import  java.io.IOException;   import  java.io.Reader;       /**    * 读取文本文件    */    public   class  ReadTextFileDemo {            // 程序入口         public   static   void  main(String[] args) {           String path =  "c:/boot.ini" ;           String content =  "" ;                try  {               Reader reader =  new  FileReader(path);                char [] buffer =  new   char [ 10240 ];                int  count;                   while  ((count = reader.read(buffer)) != - 1 ) {                   content +=  new  String(buffer,  0 , count);               }           }  catch  (IOException e) {               System.err.println( "读取文件失败。" );               e.printStackTrace();           }               System.out.println(content);       }      }  


至于如何用 Writer 将文本内容写入文件,这里就不给出例子了,看官自己试着写一下吧。

上面这个例子,仍然不是读取文本文件最常用的方式。Java 提供 BufferedReader,我们通常用它来读取文本文件。下面是一个例子:

view plain

import  java.io.BufferedReader;   import  java.io.FileReader;   import  java.io.IOException;       /**    * 用 BufferedReader 读取文本文件    */    public   class  ReadTextDemo2 {            public   static   void  main(String[] args) {           String path =  "c:/boot.ini" ;           String content =  "" ;                try  {               BufferedReader reader =  new  BufferedReader( new  FileReader(path));               String line;                while  ((line = reader.readLine()) !=  null ) {                   content += line +  "/n" ;               }           }  catch  (IOException e) {               System.err.println( "读取文件失败。" );               e.printStackTrace();           }               System.out.println(content);       }   }  


BufferedReader 这种按行读取的方式符合大部分程序的处理逻辑,所以用得最多。对应的 BufferedWriter 类,也请看官自己熟悉一下。




查看更多关于Java 流(Stream)简介:2、Reader 和 Writer的详细内容...

  阅读:36次