BufferedReader 클래스의 readLine() 메쏘드 사용중 오류입니다.
글쓴이: vudghkzm / 작성시간: 화, 2005/04/26 - 4:57오후
아래는 예제 코드입니다.
import java.io.*; public final class Test { public static void main( String args[] ) { Print(); Print(); } private static void Print() { System.out.print( "input : " ); InputStreamReader ir = new InputStreamReader( System.in ); BufferedReader br = new BufferedReader( ir ); String input = null; try { input = br.readLine(); br.close(); ir.close(); } catch( IOException e ) { e.printStackTrace(); System.exit( -1 ); } } }
실행결과는 아래와 같습니다.
input : asdf input : java.io.IOException: Stream closed at java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:145) at java.io.BufferedInputStream.read(BufferedInputStream.java:304) at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411) at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183) at java.io.InputStreamReader.read(InputStreamReader.java:167) at java.io.BufferedReader.fill(BufferedReader.java:136) at java.io.BufferedReader.readLine(BufferedReader.java:299) at java.io.BufferedReader.readLine(BufferedReader.java:362) at Test.Print(Test.java:20) at Test.main(Test.java:8)
왜 두번째로 Print(); 를 부르면 stream closed 예외가 발생하는지 궁금하네요. 그리고 해결 방법도 알려주세요.
Forums:
private static void Print()->
private static void Print()
->
private void Print()
왜 static 으로 하면 저런 오류가 생기는지 잘 이해가 안 갑니다
왜 static 으로 하면 저런 오류가 생기는지 잘 이해가 안 갑니다. 설명 부탁드려도 될까요?
댓글 달기