package telephone;
import java.io.*;
public class Aa {
public static String write() throws IOException{
String s;
BufferedReader br=
new BufferedReader(new InputStreamReader(System.in));
s=br.readLine();
//br.close();调用多次后关闭为什么不能会发出异常,该怎么解决,
//该在哪关闭
return s;
}
public static void main(String[] args) throws IOException {
// TODO 自动生成方法存根
String s=Aa.write();
System.out.println(s);
String b=Aa.write();
System.out.print(b);
}}
import java.io.*;
public class Aa {
public static String write() throws IOException{
String s;
BufferedReader br=
new BufferedReader(new InputStreamReader(System.in));
s=br.readLine();
//br.close();调用多次后关闭为什么不能会发出异常,该怎么解决,
//该在哪关闭
return s;
}
public static void main(String[] args) throws IOException {
// TODO 自动生成方法存根
String s=Aa.write();
System.out.println(s);
String b=Aa.write();
System.out.print(b);
}}
}
public static void write() throws IOException{
String s=null;
BufferedReader br=
new BufferedReader(new InputStreamReader(System.in));
;
while((s=br.readLine())!=null)
System.out.println(s);
br.close
}
等等再用的时候,再调用下。但是我多次调用后就会发生异常说流已经关闭,郁闷咧。
Exception 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$CharsetSD.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder$CharsetSD.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.readLine(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
new BufferedReader(new InputStreamReader(System.in));
这个写法非常不好
隐式的申明输入流和输入流的读取器,你不知道什么时候他们会被关闭InputStream is = System.in;
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);这样能对每个环节都实现控制