我想从控制台读取输入使用两个类在相同的方法InputStreamReader和BufferedReader。我已经关闭了前课程的流,并再次阅读输入,但现在使用后一课。如果在调用BufferedReader流read()方法之前关闭前一个类的流,则显示错误。但是,在方法结束时关闭InputStreamReader流时,它工作正常。多次流关闭并打开相同的文件错误
我的想法是 - 既然我已经关闭了前者的一类流,后者流是独立的,并因此不应该影响代码的运行。
public static void main(String[] args) throws Exception {
//File file = new File("D:\\IOSUMIT\\new_file.txt");
InputStreamReader isr= new InputStreamReader(System.in);
System.out.println("your input " + (char)isr.read());
isr.close(); //here error occurs
InputStreamReader isrp= new InputStreamReader(System.in); // Line 1
BufferedReader br = new BufferedReader(isrp);
int temp = br.read();
System.out.println("your input Buffered" + (char)temp);
br.close();
OUTPUT ERROR
your input 4Exception in thread "main" java.io.IOException: Stream closed
at java.io.BufferedInputStream.getBufIfOpen(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.read(Unknown Source)
at IO.Q7.main(Q7.java:60)
“它显示错误”stacktrace? – 2016-04-14 11:44:22