java.nio.file.* (java.nio.file.path)
기본적이고 가장 많이 사용하기 때문에 매우매우매우매우매우 중요함.. 예제공부에 많은 시간을 투자하자
File클래스를 통해 파일과 디렉토리를 다룰 수 있음. 따라서 File인스턴스는 파일일수도 있고 디렉토리일수도 있다
* File생성자 및 메서드
File(String fileName) :
주어진 문자열(fileName)을 이름으로 갖는 파일을 위한 File 인스턴스를 생성함.
파일뿐만 아니라 디렉토리도 같은 방법으로 다룰 수 있다.
여기서 FileName은 주로 경로(path)를 포함해서 지정해주지만, 파일 이름만 사용해도 된다. 이게 그 메서드임
파일 이름만 사용해서 지정해주는 경우 프로그램이 실행되는 위치가 경로(path)로 간주된다.
File(String pathName, String fileName) / File(File pathName, String fileName) :
파일의 경로와 이름을 따로 분리해서 지정할 수 있도록 함.
첫번째 메서드는 String 경로이름 이고 두번째 메서드는 File 타입이므로 File 인스턴스인 경우에 사용한다.
File(URI uri) :
지정된 uri로 파일을 생성한다. uri가 뭐지?
https://b1uffer.tistory.com/47
String getName() :
파일 이름을 String으로 반환한다
String getPath() :
파일의 경로(path)를 String으로 반환함
String getAbsolutePath() / File getAbsoluteFile() :
파일의 절대경로를 String / File로 반환한다
String getParent() / File getParentFile() :
파일의 조상 디렉토리를 String / File로 반환함
String getCanonicalPath / File getCanonicalFile() :
파일의 정규경로를 String / File로 반환한다
* 멤버변수
static String pathSeparator : OS에서 사용하는 경로(path) 구분자. 윈도우는 ";" 유닉스는 ":"
static char pathSeparatorChar : 마찬가지로 경로 구분자. 윈도우 ";" , 유닉스 ":"
static String separator : 얘도 구분자. 윈도우 "\", 유닉스 "/"
static char separatorChar : 구분자. 윈도우 "\", 유닉스 "/"
새로운 파일을 생성하기 위해서는 1. File 인스턴스를 생성한 다음, 2. 출력스트림을 생성하거나 / createNewFile()을 호출해야함
거기에 쓰이는 메서드들이다. 못외우니까 쓰면서 눈으로 보자
boolean canRead() : 읽을 수 있는 파일인지 검사함
boolean canWrite() : 쓸 수 있는 파일인지 검사함
boolean canExecute() : 실행할 수 있는 파일인지 검사함
int compareTo(File pathname) : 주어진 파일 또는 디렉토리를 검사함.
같으면 0을 반환하며, 다르면 1 또는 -1을 반환함. Unix는 대소문자를 구별하며, Windows는 구별하지 않는다.
boolean exists() : 파일이 존재하는지 검사함.
boolean isAbsolute() : 파일 또는 디렉토리가 절대경로명으로 지정되었는지 확인함.
boolean isDirectory() : 디렉토리인지 확인함
boolean isFile() : 파일인지 확인함
boolean isHidden() : 파일의 속성이 '숨김'인지 확인한다. 파일이 존재하지 않으면 false를 반환함.
boolean createNewFile() : 아무런 내용이 없는 새로운 파일을 생성함.
단, 생성하는 파일이 이미 존재한다면 생성되지 않는다.
File f = new File("C:\\Users\\index\\Desktop\\springBoot\\FileEx1.java");
f.createNewFile();
static File createTempFile(String prefix, String suffix) : 임시파일을 시스템의 임시 디렉토리에 생성함.
static File createTempFile(String prefix, String suffix, File directory) : 임시파일을 시스템의 임시 디렉토리에 생성함
boolean delete() : 파일을 삭제함
void deleteOnExit() : 응용 프로그램 종료시 파일을 삭제함. 실행 시 작업에 사용된 임시파일을 삭제하는데 사용됨.
boolean equals(Object obj) : 주어진 객체(File 인스턴스 등)가 같은 파일인지 비교함. Unix는 대소문자 구별o, windows는 구별x
long lastModified() : 파일이 마지막으로 수정된 시간으로 지정된 시간을 반환함
long length() : 파일의 크기 반환
String[] list() : 디렉토리의 파일 목록(디렉토리 포함)을 String배열로 반환함
String[] list(FilenameFilter filter) / File[] list(FilenameFilter filter) : FilenameFilter 인스턴스에 구현된 조건에 맞는 파일을 String배열 / File배열로 반환함
File[] listFiles() / File[] listFiles(FileFilter filter) / File[] listFiles(FilenameFilter f) :
디렉토리의 파일목록(디렉토리 포함)을 File배열로 반환한다. filter가 지정된 경우는 filter조건에 일치하는 파일만 반환한다.
static File[] listRoots() / long getFreeSpace() / long getTotalSpace() / long getUsableSpace() :
파일시스템의 root 목록(floppy, CD-ROM, HDD drive)을 반환한다. (A:\, C:\, D:\)
get으로 시작하는 메서드들은 File이 root일 때 비어있는 공간, 전체공간, 사용가능한 공간을 바이트단위로 반환한다.
boolean mkdir() / boolean mkdirs() : 파일에 지정된 경로로 디렉토리(폴더) 생성, 성공하면 true
mkdirs()는 필요하면 부모 디렉토리까지 생성한다.
boolean renameTo(File dest) : 지정된 파일(dest)로 이름을 변경한다.
boolean setLastModified(long t) : 파일의 마지막으로 수정된 시간을 지정된 시간(t)으로 변경한다.
Path toPath() : 파일을 Path로 변환해서 반환한다.
URI toURI() : 파일을 URI로 변환해서 반환한다.
boolean setExecutable(boolean executable) / boolean setExecutable(boolean executable, boolean ownerOnly) /
boolean setReadable(boolean readable) / boolean setReadable(boolean readable, boolean ownerOnly) /
boolean setReadOnly()
boolean setWritable(boolean writable) / boolean setWritable(boolean writable, boolean ownerOnly) :
파일의 속성을 변경함. OwnerOnly가 true이면 파일의 소유자만 해당 속성을 변경할 수 있음.
뭐가 이렇게 많지?
'JAVA' 카테고리의 다른 글
| I/O - File 예제 (3) | 2025.06.20 |
|---|---|
| 네트워킹 - URL, URI (0) | 2025.06.20 |
| 바이트기반 보조스트림 - BufferedInputStream, BufferedOutputStream (0) | 2025.06.17 |
| 바이트기반 보조스트림 - FilterInputStream, FilterOutputStream (0) | 2025.06.17 |
| FileInputStream, FileOutputStream 예제 (0) | 2025.06.16 |