字符输入流

有了前面的基础,字符输入流就很简单了:

 1 package com.hw.file0222;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.FileNotFoundException;
 5 import java.io.IOException;
 6 import java.io.InputStreamReader;
 7 
 8 import org.junit.Test;
 9 
10 @SuppressWarnings("unused")
11 public class DemoInputStreamReader {
12     
13     @Test
14     public void testInputStreamReader(){
15         InputStreamReader reader = null;
16 
17         try {
18             FileInputStream fileinput = new FileInputStream("F://骚操作//demo01test.txt");
19             reader = new InputStreamReader(fileinput);
20             
21             System.out.print((char)reader.read());
22             System.out.print((char)reader.read());
23             System.out.print((char)reader.read());
24             System.out.print((char)reader.read());
25             
26         } catch (IOException e) {
27             // TODO Auto-generated catch block
28             e.printStackTrace();
29         }finally {
30             try {
31                 if(reader != null){
32                     reader.close();
33                 }
34             } catch (IOException e) {
35                 // TODO Auto-generated catch block
36                 e.printStackTrace();
37             }
38 
39         }
40     }
41 }

 

 或者也可以利用数组来完成:

 1 package com.hw.file0222;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.FileNotFoundException;
 5 import java.io.IOException;
 6 import java.io.InputStreamReader;
 7 
 8 import org.junit.Test;
 9 
10 @SuppressWarnings("unused")
11 public class DemoInputStreamReader {
12     
13     @Test
14     public void testInputStreamReader(){
15         InputStreamReader reader = null;
16 
17         try {
18             FileInputStream fileinput = new FileInputStream("F://骚操作//demo01test.txt");
19             reader = new InputStreamReader(fileinput);
20             
21             char[] data = new char[1024];
22             int length = reader.read(data);
23             System.out.println(new String(data,0,length));
24         } catch (IOException e) {
25             // TODO Auto-generated catch block
26             e.printStackTrace();
27         }finally {
28             try {
29                 if(reader != null){
30                     reader.close();
31                 }
32             } catch (IOException e) {
33                 // TODO Auto-generated catch block
34                 e.printStackTrace();
35             }
36 
37         }
38     }
39 }

 

从OutputStreamWriter和InputStreamReader又派生出来了FileWriter和FileReader,因为前面都是包装流,写代码的时候有点麻烦,所以后者两个就把这个过程给省了,内部自动完成,只需要给定一个路径就可以了。其他代码非常相似,这里就不做演示。

 

posted @ 2021-02-22 22:57  EvanTheBoy  阅读(112)  评论(0)    收藏  举报