字符输入流
有了前面的基础,字符输入流就很简单了:
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,因为前面都是包装流,写代码的时候有点麻烦,所以后者两个就把这个过程给省了,内部自动完成,只需要给定一个路径就可以了。其他代码非常相似,这里就不做演示。

浙公网安备 33010602011771号