스텍오버플로우에서 발견한 예제이다.
아래와 같이 질문자는 이 구조를 이쁘게 바꾸고 싶었던 것이다.
InputStream in = new FileInputStream(inputFileName);
OutputStream out = new FileOutputStream(outputFileName);
try {
copy(in, out);
} finally {
try {
in.close();
} catch (Exception e) {
try {
// event if in.close fails, need to close the out
out.close();
} catch (Exception e2) {}
throw e; // and throw the 'in' exception
}
}
out.close();
}
답변자는 위 코드를 아래처럼 이쁘게 만들어줬다... 최소 탑 연예인 코디네이터
InputStream in = null;
OutputStream out = null;
try {
in = new FileInputStream(inputFileName);
out = new FileOutputStream(outputFileName);
copy(in, out);
finally {
close(in);
close(out);
}
public static void close(Closeable c) {
if (c == null) return;
try {
c.close();
} catch (IOException e) {
//log the exception
}
}
그리고 이 예제를 답변으로 준사람은 아래와 같이 글을 더했다.
- Java 7(및 Android SDK 19 - KitKat)부터 이제 이것을 더 깔끔하게 만들기 위한 리소스 구문으로 시도가 있습니다. 이를 처리하는 방법은 이 질문 에서 다룹 니다.
'몰아 넣기' 카테고리의 다른 글
[java/spring] Enum변수를 json으로 변환하여 Enum 값 전달하기 (0) | 2022.07.10 |
---|---|
[java/spring] JPA timeStamp format 예제 (0) | 2022.07.10 |
[java/spring] 이미지url를 업로드하는 예제 (window/Linux)등 os 체크 예제까지 (0) | 2022.07.10 |
[java/spring] 엑셀 다운로드 예제(Excel download) (0) | 2022.07.10 |
[java/spring]엑셀 업로드 예제(Excel upload) (0) | 2022.07.10 |