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 }
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 }
本文出自 “熔 岩” 博客,转载请与作者联系!


浙公网安备 33010602011771号