안녕하세요.. 게으르게나마 기록하는 n년차 개발자입니다..
이 문제는 입출력 stream을 닫았는데 다시 입출력 작업을 시도할 때 발생합니다.
간단히 문제를 해결하기 위해 new연산자를 이용해 입출력 스트림을 다시 생성해주면 됩니다.
try {
InputStream inputStream = new FileInputStream("file.txt");
// 파일 읽는 작업 수행
inputStream.close(); // inputStream 닫기
// inputStream이 닫힌 이후에 다시 작업을 시도하면 에러가 발생합니다.
// 따라서 inputStream을 다시 생성해주면 됩니다.
inputStream = new FileInputStream("file.txt");
// 다시 파일 읽는 작업 수행
} catch (IOException e) {
e.printStackTrace();
}
근데 모든 경우에 입출력 스트림을 다시 생성한다고 답이 있는건 아니죠. 소스가 예시처럼 간단한 소스라면 모르겠지만 복잡한 소스라면 연계된 다른 문제가 있을수 있으니 객체를 재생성해도 답이없다면 로깅과 디버깅만이 답이라고 생각합니다.. 그러니 꼭 try catch를 통해 에러로그를 확인하시고 예외처리를 생활화 하시는걸 추천드립니다.
감사합니다.
그럼 20000
반응형
'IT' 카테고리의 다른 글
[Java] java.lang.IllegalArgumentException (0) | 2023.05.29 |
---|---|
[Java] java.lang.ArrayIndexOutOfBoundsException (0) | 2023.05.29 |
[Java] java.lang.ClassNotFoundException (0) | 2023.05.24 |
[Java] java.lang.NullPointerException (0) | 2023.05.24 |
[Java] json to vo (json을 VO객체로) (0) | 2021.12.29 |