zoukankan      html  css  js  c++  java
  • Java 流(Stream)简介:2、Reader 和 Writer

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

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

    分类: Java 技术 818人阅读 评论(1) 收藏 举报

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

    1. import java.io.FileReader;  
    2. import java.io.IOException;  
    3. import java.io.Reader;  
    4.    
    5. /** 
    6.  * 读取文本文件 
    7.  */  
    8. public class ReadTextFileDemo {  
    9.    
    10.     // 程序入口  
    11.     public static void main(String[] args) {  
    12.         String path = "c:/boot.ini";  
    13.         String content = "";  
    14.    
    15.         try {  
    16.             Reader reader = new FileReader(path);  
    17.             char[] buffer = new char[10240];  
    18.             int count;  
    19.   
    20.             while ((count = reader.read(buffer)) != -1) {  
    21.                 content += new String(buffer, 0, count);  
    22.             }  
    23.         } catch (IOException e) {  
    24.             System.err.println("读取文件失败。");  
    25.             e.printStackTrace();  
    26.         }  
    27.    
    28.         System.out.println(content);  
    29.     }  
    30.   
    31. }  

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

    上面这个例子,仍然不是读取文本文件最常用的方式。Java 提供 BufferedReader,我们通常用它来读取文本文件。下面是一个例子:
    1. import java.io.BufferedReader;  
    2. import java.io.FileReader;  
    3. import java.io.IOException;  
    4.    
    5. /** 
    6.  * 用 BufferedReader 读取文本文件 
    7.  */  
    8. public class ReadTextDemo2 {  
    9.    
    10.     public static void main(String[] args) {  
    11.         String path = "c:/boot.ini";  
    12.         String content = "";  
    13.    
    14.         try {  
    15.             BufferedReader reader = new BufferedReader(new FileReader(path));  
    16.             String line;  
    17.             while ((line = reader.readLine()) != null) {  
    18.                 content += line + "/n";  
    19.             }  
    20.         } catch (IOException e) {  
    21.             System.err.println("读取文件失败。");  
    22.             e.printStackTrace();  
    23.         }  
    24.    
    25.         System.out.println(content);  
    26.     }  
    27. }  

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




  • 相关阅读:
    amoeba连接mysql--ERROR 2006 (HY000): MySQL server has gone away
    fd最大值和限制
    mysql ab主从复制出错及解决过程
    mysql复制知识整理
    MySQL权限
    客户端用plsql进行中文条件查询时无结果的解决办法
    ORACLE ASH/AWR
    总结:常用的Linux系统监控命令(2)
    讨论几种数据列Column的特性(上)
    Spring核心技术(五)——Spring中Bean的作用域
  • 原文地址:https://www.cnblogs.com/lexus/p/2195880.html
Copyright © 2011-2022 走看看