이 코드를 고려 열 유일의 경우 스트림 닫기 : 두 번째 catch 블록에서이
FileOutputStream stream=null;
ObjectOutputStream objStr=null;
try
{
stream=new FileOutputStream(defaultFile);
objStr=new ObjectOutputStream(stream);
objStr.writeObject(obj);
objStr.close();
}
catch(FileNotFoundException e)
{
System.out.println("Il file "+ defaultFile+ " non è stato trovato\n");
}
catch(IOException e)
{
stream.close();
System.out.println("Si è verificato un problema di I/O nell' apertura dello stream");
}
를, 내가 스트림을 닫습니다하지만이 닫혀해야하는지 확실하지 않다.
ObjectOutputStream의 생성자가 실패하면 두 번째 catch에 들어가지만이 경우 FileOutputStream이 열린 상태로 유지됩니까?
모든 예외를 처리하기 위해 finally 블록을 작성해야합니까?
모든 사례를 파악하기가 어렵습니다.
그리고 스트림을 어디에 닫아야합니까? –
@Ramy AI Zuhouri try-with-resources 문은 블록이 종료 될 때 스트림을 닫습니다. 내가 준 링크를 읽으십시오. – Jeffrey