인프런 커뮤니티 질문&답변

인프린님의 프로필 이미지
인프린

작성한 질문수

자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 2(마스터편)

바이트 단위 입출력 스트림

입출력 스트림 질문입니다.

작성

·

214

0

안녕하세요.

FileOutputStream 객체 생성시 질문이 있어서 글 남깁니다.

FileOutputStream fos = new FileOutputStream("output.txt");

이후 try() resource 구문을 쓰는 건 문제가 되지 않는데

처음에 변수 초기화를 시켜주지 않고

FileOutputStream fos = null;

fos = new FileOutputStream("output.txt");

 

위와 같이 작성 후 try resource 구문을 작성하면 에러가 나네요.

해당 원인이 무엇인지 궁금합니다.

감사합니다.

답변 1

2

박은종님의 프로필 이미지
박은종
지식공유자

try-with-resources 문은 두 가지 형식으로 사용할 수 있습니다.

아래와 같이 선언과 대입을 같이 하는 것은 자바 8부터 가능하구요

try(FileInputStream fis = new FileInputStream("input2.txt"))

자바 9부터는 아래와 같이 try 문에 변수만을 사용하는 방법입니다.

FileOutputStream fos = new FileOutputStream("output2.txt");

try(fos){

...

}

위 두가지중 하나의 방법으로 구현하셔야 할듯합니다. 문의하신 내용이 자바 문법에서 제공되지 않아서 오류가 난듯 합니다.

 

 

인프린님의 프로필 이미지
인프린

작성한 질문수

질문하기