java io 学习笔记 (字符流)

Java IO学习笔记:字符流
 
字符流的处理和字节流差不多,API基本上完全一样,就是计量单位不同。另外字符流还提供一些其他的处理流,比如按行读取流、字符串流等等。
 
下面给个例子看看:


代码
 1 import java.io.*;
 2 
 3 /**
 4 * 字符流测试
 5 *
 6 @author leizhimin 2008-8-27 22:16:44
 7 */
 8 public class TestIOStream {
 9     public static void main(String[] args) {
10         testReaderWriter();
11         testLineNumberReader();
12     }
13 
14     /**
15      * 带缓冲的字符流
16      */
17     public static void testReaderWriter() {
18         int bufsize = 25;
19         try {
20             BufferedReader bufferedReader = new BufferedReader(new FileReader(new File("C:\\x.txt")));
21             BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(new File("C:\\xb.txt")));
22 
23             char buf[] = new char[bufsize];     //字符缓冲区
24             while (bufferedReader.read(buf) != -1) {
25                 bufferedWriter.write(buf);
26             }
27             bufferedWriter.flush();
28             bufferedReader.close();
29             bufferedWriter.close();
30 
31         } catch (FileNotFoundException e) {
32             e.printStackTrace();
33         } catch (IOException e) {
34             e.printStackTrace();
35         }
36     }
37 
38     /**
39      * 按行读取的字符流
40      */
41     public static void testLineNumberReader() {
42         try {
43             LineNumberReader lineNumberReader = new LineNumberReader(new BufferedReader(new FileReader(new File("C:\\x.txt"))));
44 
45             String lineString;      //行字符串变量
46             int x = 0;              //行号
47             while ((lineString = lineNumberReader.readLine()) != null) {
48                 x++;
49                 System.out.println("行号:" + x + " >>>" + lineString);
50             }
51             lineNumberReader.close();
52         } catch (FileNotFoundException e) {
53             e.printStackTrace();
54         } catch (IOException e) {
55             e.printStackTrace();
56         }
57     }
58 }

 

本文出自 “熔 岩” 博客,转载请与作者联系! 

 

posted @ 2009-11-28 16:07  busing  阅读(190)  评论(0)    收藏  举报