본문 바로가기
IT개발/Java

[Java] IOException 발생원인(eclipse)

by Thompson 2024. 9. 28.
728x90

IOException은 자바에서 입출력 작업(Input/Output) 중 발생할 수 있는 예외를 처리하기 위해 사용됩니다. 이는 파일을 읽거나 쓸 때, 스트림을 다룰 때, 또는 네트워크 통신 같은 입출력 작업 중 예상치 못한 오류가 발생할 수 있는 상황을 포괄적으로 처리합니다. 

왜 IOException이 발생할 수 있을까요?

파일 읽기 도중에 문제가 발생

 

파일이 있는 경우에도 읽기 도중 하드웨어나 파일 시스템 문제, 권한 부족 등으로 인해 파일을 읽는 도중 오류가 발생할 수 있습니다.

예를 들어, 읽기 도중 파일이 외부에서 삭제되거나 손상된 경우, IOException이 발생할 수 있습니다.

파일 스트림이 제대로 열리지 않거나 닫히지 않음

 

파일을 읽거나 쓸 때, 스트림을 열고 닫는 작업에서 문제가 생기면 IOException이 발생할 수 있습니다. 예를 들어, 파일 스트림을 열었지만 파일이 이미 다른 프로세스에 의해 잠겨 있거나, 닫을 때 문제가 생기는 경우가 있을 수 있습니다.

 

잘못된 포맷의 파일을 읽으려 할 때

 

파일이 예상했던 텍스트 포맷이나 인코딩을 따르지 않으면, 파일을 읽는 중에 문제가 발생할 수 있습니다. 예를 들어, 텍스트 파일이라고 생각한 파일이 실제로는 이진 파일(binary)인 경우에도 IOException이 발생할 수 있습니다.

네트워크 파일 접근

 

네트워크를 통해 파일을 읽을 때, 네트워크 연결이 갑자기 끊기거나, 서버에 문제가 발생하면 IOException이 발생할 수 있습니다


만약 파일이 존재하지만, 읽는 도중에 외부에서 삭제되거나, 다른 프로그램이 해당 파일을 잠궈버린 경우 IOException이 발생할 수 있습니다.

catch (IOException e) { System.out.println("입출력 오류 발생: " + e.getMessage()); }
 

파일을 읽는 중 실제로 문제가 발생했을 때, 즉 스트림 작업 도중 오류가 발생할 가능성에 대비해 예외를 처리하는 부분입니다.