2014-11-18 2 views
2

안녕하세요 저는 FILE을 사용하여 파일 클래스 & FILEOUTPUTSTREAM 클래스을 사용하여 쿼리를 생성했습니다. 나는 파일 클래스을 사용하여 특정 파일을 만들 때 메소드 이름 createfile을 사용해야하고 FILEOUTPUTSTREAM 클래스을 사용할 때 클래스 초기화에 문자열 경로 또는 이름을 전달한 다음 해당 파일을 자동으로 생성합니다. 그러나 두 경우 모두 다른 점은 무엇입니까?파일 클래스와 FileOutputStream을 사용하여 파일을 만드는 것과 다른 점은 무엇입니까?

답변

3

File은 추상 경로입니다. 그것은 육체적 존재가 없다.

File 실제로 "사용 중"이면 기본 물리적 저장소에 실제로 도달했습니다.

FileOutputStream은 파일 존재 테스트/생성/열기 등을 처리합니다.

참고 : Java 7을 사용하는 경우 File 번을 처 음 대신 Path을 사용하십시오.

+0

물리적없는 존재 FileOutputStream에 이미 존재한다 이러한 개체위한 것입니다 그 대상입니다 FILE 클래스와 FILE을 의미 touch myfile.txt 대로 생각할 수 있습니다. – Simmant

+0

아니오; 앞에서 말했듯이,'FileOutputStream'이 파일 생성을 처리 할 것입니다 (여러분이 사용하는 생성자에 달려 있습니다). 'File' 객체를 만들 때 추상 경로를 만듭니다. 기본 물리적 객체가 존재할 수도 있고 존재하지 않을 수도있다; 당신은 그것을 사용할 때만 그것을 결정할 수 있습니다. – fge

+0

좋아, 이제 그 두 가지의 차이점은 다음과 같습니다. @fge :) – Simmant

1

File 클래스는 파일의 핸들입니다. FileOutputStreamOutputStream이며 쓸 수 있습니다 : FileOutputStream JavaDoc.

당신은 echo > myfile.txt

+0

음, 아니, touch는 실제로 파일을 생성 할 것이다. – fge

+0

네,하지만 File.createNewFile()과 FileOutputStream을 통해 파일을 비교하고 있습니다. – Vlad

관련 문제