(1)Reader和Writer类(文本字符流读写类):提供的对字符流处理的类,它们为抽象类。一般通过其子类来实现。
(2)InputStreamReader(InputStream in) 和OutputStreamWriter(OutputStream out):它们可以使用指定的编码规范并基于字节流生成对应的字符流。
注意:
InputStreamReader isr=new InputStreamReader(“my.txt”); //错误
应该:
FileInputStream fis=new FileInputStream(“my.txt”);
InputStreamReader isr=new InputStreamReader(fis);
(3)BufferedReader(InputStreamReader isr, int size) 和 BufferedWriter(OutputStreamWriter osr, int size):
为提高字符流的处理效率,可以采用缓冲机制的流实现对字符流作成批的处理,避免了频繁的从物理设备中读取信息 。
1. CharInput.java
import java.io.*;
public class CharInput {
public static void main(String args[]) throws FileNotFoundException, IOException {
String s;
FileInputStream is = new FileInputStream("c://UserInput.txt");
InputStreamReader ir = new InputStreamReader(is);
BufferedReader in = new BufferedReader(ir);
while ((s = in.readLine()) != null) {
System.out.println("Read:" + s);
}
}
}
2. NumberInput.java
import java.io.*;
public class NumberInput {
public static void main(String args[]) throws IOException {
InputStreamReader ir = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(ir);
String Str = in.readLine();
System.out.println("Input Value is:" + Str);
int x = Integer.parseInt(Str);
x = x * 2;
System.out.println("Input Value Changed after doubled:" + x);
}
}