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);



}}

解决方案 »

  1.   

    public static void main(String[] args) throws IOException { write();

    }

    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

    }
      

  2.   

    dfcaj,您大概没有明白我的意思 ,write()就是一个读方法,每调用一次,关闭,再打开就会抛出异常
      

  3.   

    就是说我想用调用它下接一个参数,返回个控制台的数给就关掉,
    等等再用的时候,再调用下。但是我多次调用后就会发生异常说流已经关闭,郁闷咧。
    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)
      

  4.   

    在你之前的程序段中肯定有地方关闭了这个输入流
    new BufferedReader(new InputStreamReader(System.in));
    这个写法非常不好
    隐式的申明输入流和输入流的读取器,你不知道什么时候他们会被关闭InputStream is = System.in;
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);这样能对每个环节都实现控制