boolean canRead()
파일을 읽을 수 있는지 여부를 반환합니다. (읽을 수 있으면 true, 그렇지 않으면 false)
File file = new File("example.txt");
System.out.println(file.canRead());
[출력 결과]
true 또는 false
boolean canWrite()
파일에 쓸 수 있는지 여부를 반환합니다. (쓸 수 있으면 true, 그렇지 않으면 false)
File file = new File("example.txt");
System.out.println(file.canWrite());
[출력 결과]
true 또는 false
boolean canExecute()
파일을 실행할 수 있는지 여부를 반환합니다. (실행할 수 있으면 true, 그렇지 않으면 false)
File file = new File("example.txt");
System.out.println(file.canExecute());
[출력 결과]
true 또는 false
int compareTo(File pathname)
주어진 파일의 경로명을 기준으로 파일을 비교합니다. (같으면 0, 주어진 파일이 더 작으면 음수, 더 크면 양수 반환)
import java.io.File;
public class FileComparison {
public static void main(String[] args) {
File file1 = new File("example1.txt");
File file2 = new File("example2.txt");
int result = file1.compareTo(file2);
if (result == 0) {
System.out.println("파일 이름이 동일합니다.");
} else if (result < 0) {
System.out.println("file1이 file2보다 사전순으로 먼저 옵니다.");
} else {
System.out.println("file2가 file1보다 사전순으로 먼저 옵니다.");
}
}
}
[출력결과]
file1이 file2보다 사전순으로 먼저 옵니다.
boolean exists()
파일이나 디렉터리가 실제로 존재하는지 여부를 반환합니다. (존재하면 true, 그렇지 않으면 false)
File file = new File("example.txt");
System.out.println(file.exists());
[출력 결과]
true 또는 false
boolean isAbsolute()
파일의 경로가 절대 경로인지 여부를 반환합니다. (절대 경로이면 true, 상대 경로이면 false)
File file = new File("C:/example.txt");
System.out.println(file.isAbsolute());
[출력 결과]
true 또는 false
boolean isDirectory()
파일이 디렉터리인지 여부를 반환합니다. (디렉터리이면 true, 그렇지 않으면 false)
File directory = new File("example_directory");
System.out.println(directory.isDirectory());
[출력 결과]
true 또는 false
boolean isFile()
파일이 일반 파일인지 여부를 반환합니다. (일반 파일이면 true, 그렇지 않으면 false)
File file = new File("example.txt");
System.out.println(file.isFile());
[출력 결과]
true 또는 false
boolean isHidden()
파일이 숨겨진 파일인지 여부를 반환합니다. (숨겨진 파일이면 true, 그렇지 않으면 false)
File file = new File("example.txt");
System.out.println(file.isHidden());
[출력 결과]
true 또는 false
boolean createNewFile()
새 파일을 생성합니다. 파일이 이미 존재하거나 생성에 실패하면 false를 반환합니다. (성공적으로 생성되면 true)
File file = new File("newfile.txt");
System.out.println(file.createNewFile());
[출력 결과]
true 또는 false
static File createTempFile(String prefix, String suffix)
임시 파일을 생성합니다. 지정된 접두사와 접미사를 사용하여 파일 이름을 생성하고 해당 파일의 File 객체를 반환합니다.
import java.io.File;
import java.io.IOException;
public class TempFileExample {
public static void main(String[] args) {
try {
File tempFile = File.createTempFile("temp", ".txt");
System.out.println("임시 파일의 이름: " + tempFile.getName());
} catch (IOException e) {
System.out.println("임시 파일을 생성하는 도중에 오류가 발생했습니다.");
e.printStackTrace();
}
}
}
[출력결과]
임시 파일의 이름: temp1234567890123456789.txt
static File createTempFile(String prefix, String suffix, File directory)
지정된 디렉터리에 임시 파일을 생성합니다. 접두사와 접미사를 사용하여 파일 이름을 생성하고 해당 파일의 File 객체를 반환합니다.
File tempFile = File.createTempFile("temp", ".txt", new File("temp_dir"));
System.out.println(tempFile.getName());
[출력 결과]
임시 파일의 이름
boolean delete()
파일 또는 디렉터리를 삭제합니다. 삭제에 성공하면 true를 반환합니다. (삭제에 실패하거나 파일이 존재하지 않으면 false)
File file = new File("example.txt");
System.out.println(file.delete());
[출력 결과]
true 또는 false
void deleteOnExit()
프로그램 종료 시 파일 또는 디렉터리를 삭제하도록 지정합니다.
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class DeleteOnExitExample {
public static void main(String[] args) {
// 파일 생성
// 프로그램이 실행될 때 "example.txt" 파일을 생성
File file = new File("example.txt");
try {
// 파일에 내용 작성
// 안에 "This is an example file."이라는 내용을 씀
FileWriter writer = new FileWriter(file);
writer.write("This is an example file.");
writer.close();
} catch (IOException e) {
System.out.println("파일을 생성하는 도중에 오류가 발생했습니다.");
e.printStackTrace();
}
// 프로그램 종료 시 파일 삭제 지정
// 프로그램이 종료되면 파일이 자동으로 삭제
file.deleteOnExit();
// 프로그램이 종료되면서 파일이 삭제됨
}
}
boolean equals(Object obj)
다른 객체와 현재 파일을 비교하여 같은지 여부를 반환합니다. (같으면 true, 그렇지 않으면 false)
File file1 = new File("example.txt");
File file2 = new File("example.txt");
System.out.println(file1.equals(file2));
[출력 결과]
true 또는 false
long lastModified()
파일의 마지막 수정 시간을 반환합니다. 시간은 1970년 1월 1일 자정 이후의 밀리초 단위로 표시됩니다.
File file = new File("example.txt");
System.out.println(file.lastModified());
[출력 결과]
파일의 마지막 수정 시간
long length()
파일의 크기를 바이트 단위로 반환합니다.
File file = new File("example.txt");
System.out.println(file.length());
[출력 결과]
파일의 크기
String[] list()
디렉터리 내의 파일 및 디렉터리 목록을 문자열 배열로 반환합니다.
File directory = new File("example_directory");
String[] fileList = directory.list();
for (String name
fileList) {
System.out.println(name);
}
[출력 결과]
디렉터리 내의 파일 및 디렉터리 목록
String[] list(FilenameFilter filter)
지정된 필터를 사용하여 디렉터리 내의 파일 및 디렉터리 목록을 문자열 배열로 반환합니다.
File directory = new File("example_directory");
String[] fileList = directory.list((dir, name) -> name.endsWith(".txt"));
for (String name fileList) {
System.out.println(name);
}
[출력 결과]
.txt 필터 조건에 맞는 디렉터리 내의 파일 및 디렉터리 목록
File[] listFiles()
디렉터리 내의 파일 및 디렉터리를 나타내는 File 객체의 배열을 반환합니다.
File directory = new File("example_directory");
File[] fileList = directory.listFiles();
for (File file
fileList) {
System.out.println(file.getName());
}
[출력 결과]
디렉터리 내의 파일 및 디렉터리 목록
static File[] listRoots()
시스템의 모든 루트 디렉터리를 나타내는 File 객체의 배열을 반환합니다.
File[] roots = File.listRoots();
for (File root
roots) {
System.out.println(root.getAbsolutePath());
}
[출력 결과]
시스템의 모든 루트 디렉터리 목록
long getFreeSpace()
파일이나 디렉터리가 존재하는 파티션에서 사용 가능한 바이트 수를 반환합니다.
File file = new File("example.txt");
System.out.println(file.getFreeSpace());
[출력 결과]
사용 가능한 바이트 수
long getTotalSpace()
파일이나 디렉터리가 존재하는 파티션의 총 바이트 수를 반환합니다.
File file = new File("example.txt");
System.out.println(file.getTotalSpace());
[출력 결과]
총 바이트 수
long getUsableSpace()
파일이나 디렉터리가 존재하는 파티션에서 사용 가능한 바이트 수를 반환합니다.
File file = new File("example.txt");
System.out.println(file.getUsableSpace());
[출력 결과]
사용 가능한 바이트 수
boolean mkdir()
디렉터리를 생성합니다. 부모 디렉터리가 존재하지 않거나 디렉터리를 생성할 수 없는 경우에는 false를 반환합니다.
File directory = new File("new_directory");
System.out.println(directory.mkdir());
[출력 결과]
true 또는 false
boolean mkdirs()
디렉터리를 생성합니다. 필요한 부모 디렉터리를 모두 생성하고, 디렉터리를 생성할 수 없는 경우에도 false를 반환합니다.
File directory = new File("new_directory/sub_directory");
System.out.println(directory.mkdirs());
[출력 결과]
true 또는 false
boolean renameTo(File dest)
파일 또는 디렉터리의 이름을 변경합니다. 성공하면 true를 반환합니다.
File file = new File("example.txt");
File renamedFile = new File("renamed_example.txt");
System.out.println(file.renameTo(renamedFile));
[출력 결과]
true 또는 false
boolean setExecutable(boolean executable)
파일을 실행 가능하게 설정합니다.
File file = new File("example.txt");
System.out.println(file.setExecutable(true));
[출력 결과]
true 또는 false
boolean setExecutable(boolean executable, boolean ownerOnly)
파일의 실행 권한을 설정합니다. ownerOnly가 true이면 소유자만 변경할 수 있습니다.
File file = new File("example.txt");
System.out.println(file.setExecutable(true, false));
[출력 결과]
true 또는 false
* Java 프로그램을 실행하기 위해 Java 소스 코드를 컴파일하여 생성된 `.class` 파일에 실행 가능한 권한을 부여하면 운영 체제가 해당 파일을 실행할 수 있습니다.
따라서 `setExecutable(true)`을 호출하면 해당 파일을 실행 가능한 파일로 설정하고,
`setExecutable(false)`를 호출하면 실행 가능한 권한을 제거하여 파일을 실행할 수 없게 됩니다.
boolean setReadable(boolean readable)
파일을 읽기 가능하게 설정합니다.
File file = new File("example.txt");
System.out.println(file.setReadable(true));
[출력 결과]
true 또는 false
boolean setReadable(boolean readable, boolean ownerOnly)
파일의 읽기 권한을 설정합니다. ownerOnly가 true이면 소유자만 변경할 수 있습니다.
File file = new File("example.txt");
System.out.println(file.setReadable(true, false));
[출력 결과]
true 또는 false
boolean setReadOnly()
파일을 읽기 전용으로 설정합니다.
File file = new File("example.txt");
System.out.println(file.setReadOnly());
[출력 결과]
true 또는 false
boolean setWritable(boolean writable)
파일을 쓰기 가능하게 설정합니다.
File file = new File("example.txt");
System.out.println(file.setWritable(true));
[출력 결과]
true 또는 false
boolean setWritable(boolean writable, boolean ownerOnly)
파일의 쓰기 권한을 설정합니다. ownerOnly가 true이면 소유자만 변경할 수 있습니다.
File file = new File("example.txt");
System.out.println(file.setWritable(true, false));
[출력 결과]
true 또는 false
boolean setLastModified(long time)
파일의 마지막 수정 시간을 설정합니다. 시간은 1970년 1월 1일 자정 이후의 밀리초 단위로 지정됩니다.
File file = new File("example.txt");
long timeInMillis = System.currentTimeMillis();
System.out.println(file.setLastModified(timeInMillis));
[출력 결과]
true 또는 false
Path toPath()
파일의 경로를 나타내는 Path 객체를 반환합니다.
File file = new File("example.txt");
Path path = file.toPath();
System.out.println(path);
[출력 결과]
파일의 경로를 나타내는 문자열
URI toURI()
파일의 경로를 나타내는 URI 객체를 반환합니다.
File file = new File("example.txt");
URI uri = file.toURI();
System.out.println(uri);
[출력 결과]
파일의 경로를 나타내는 URI