1. File
- 입출력에 대한 가장 기본적이면서도 가장 많이 사용되는 입출력 대상이기 때문에 중요하다.
- 아래는 File에 대한 생성자/메서드를 설명한다.
: 중요한 부분만 다뤘다. 자세한 내용은 915p를 참고한다.
(1) File(String fileName)
: 주어진 문자열을 이름으로 갖는 파일을 위한 File 인스턴스를 생성한다.
: 여기서 fileName은 파일 이름만 사용해도 되는데 이 경우 프로그램이 실행되는 위치가
경로로 간주된다.
(2) File(URI uri)
: 지정된 uri로 파일 생성
(3) File(String pathName, String fileName)
또는
File(File pathName, String fileName)
: 파일의 경로와 이름을 따로 분리해서 지정할 수 있도록 한 생성자이다.
: 두번째 것은 경로를 문자열이 아닌 File 인스턴스인 경우를 위해서 제공된 것이다.
(4) String getName()
: 파일 이름을 String으로 변환한다.
(5) String getPath()
: 파일의 경로를 String으로 반환한다.
(6) String getAbsolutePath()
또는
File getAbsoluteFile()
: 파일의 절대경로를 각각 String과 File로 반환한다.
(7) String getParent()
또는
File getParentFile()
: 파일의 조상 디렉토리를 각각 String과 File로 반환한다.
(8) String getCanonicalPath()
또는
File getCanonicalFile()
: 파일의 정규 경로를 각각 String과 File로 반환한다.
( 멤버변수에 관한 설명은 915p를 참고한다. )
- File과 관련된 더 많은 메서드는 918p~919p를 참고해서 필요할 때마다 쓰자.
1-1. File을 이해하기 위한 예제(1)
: 위에서 봤던 생성자/메서드를 이해하는 예제이다.
( 절대 경로는 파일 시스템의 루트로부터 시작하는 파일의 전체 경로를 의미한다. )
( 현재 디렉토리를 의미하는 '.'와 같은 기호나 링크를 포함하고 있는 경우 절대 경로가 두 개 이상 존재한다. )
( 정규 경로는 기호나 링크 등을 포함하지 않는 유일한 경로를 의미한다. )
( 시스템 속성 중에서 user.dir의 값을 확인하면 현재 프로그램이 실행 중인 디렉토리를 알 수 있다. )
( OS의 시스템 변수로 설정하는 classpath외에 sun.boot.class.path라는 시스템 속성에 기본적인 classpath가
있어서 기본적인 경로들은 이미 설정 되어 있다. )
( 예제에서 사용했던 File f = new File("c:\\jdk1.8\\work\\ch15\\FileEx1.java"); 부분을 아래의 두 가지
버전으로 변경 할 수 있다. )
(1) File f = new File("c:\\jdk1.8\\work\\ch15\\FileEx1.java");
(2) File dir = new File("c:\\jdk1.8\\work\\ch15");
File f= new File(dir, "FileEx1.java");
( 한 가지 알아야 할 점은 File 인스턴스를 생성했다고 해서 파일이나 디렉토리가 생기는 것은 아니다. )
( 파일명이나 디렉토리명으로 지정된 문자열이 유효하지 않더라도 컴파일 에러나 예외를 발생시키지 않는다. )
( 그러므로, File 인스턴스를 생성 후, 출력 스트림을 생성하거나 createNewFile()을 호출해야 한다. )
( 아래의 코드를 보고 이해하자.)
(1) 이미 존재하는 파일을 참조할 때
File f = new File("c:\\jdk1.8\\work\\ch15", "FileEx1.java");
(2) 기존에 없는 파일을 참조할 때
File f = new File("c:\\jdk1.8\\work\\ch15", "FileEx1.java");
f.createNewFile();
1-2. File을 이해하기 위한 예제(2)
: 지정한 디렉토리에 포함된 파일과 디렉토리의 목록을 보여주는 예제이다.
다음 장
표준 입출력과 File: File(2) (tistory.com)
표준 입출력과 File: File(2)
1-3. File을 이해하기 위한 예제(3) : 1-2 예제(2)에서 했던 코드에 추가로 서브 디렉토리의 파일과 디렉토리까지 보여주는 예제이다. package File; import java.io.File; import java.util.ArrayList; import ja..
kind-coding.tistory.com
'자바 > 입출력 IO' 카테고리의 다른 글
표준 입출력과 File: File(3) (0) | 2022.04.28 |
---|---|
표준 입출력과 File: File(2) (0) | 2022.04.28 |
표준 입출력과 File: RandomAccessFile (0) | 2022.04.27 |
표준 입출력과 File: System(in, out, err) (0) | 2022.04.27 |
문자 기반의 보조 스트림: (Buffered, InputStream, OutputStream) 읽기와 쓰기 (0) | 2022.04.27 |