1. 파일명 + 디렉토리(폴더)명 검색하기
- .listFiles() : 배열로 반환
- .getNames()
// 파일 + 디렉토리 (폴더) 검색
File fileDir = new File("C:\\");
// 각 파일의 정보를 취득
// 외부에 보이지 않도록 만든 폴더의 이름도 나옴
File[] fileList = fileDir.listFiles();
for (int i=0; i< fileList.length; i++) {
if (fileList[i].isFile()) { // 파일인 경우
System.out.println("[파일] " + fileList[i].getName());
} else if (fileList[i].isDirectory()) { // 폴더인 경우
System.out.println("[폴더] " + fileList[i].getName());
} else {
System.out.println("[?] " + fileList[i].getName());
}
}
2. 파일 생성하기
- 경로와 파일이름 지정 후
- .createNewFile()
// 경로와 파일 이름 지정
File newFile = new File("E:\\newfile.txt");
// 파일 생성하기 .createNewFile()
try {
if (newFile.createNewFile()) {
System.out.println("파일 생성 성공!");
} else {
System.out.println("파일 생성 실패!");
// 보안이 걸려있거나
// 이미 같은 이름의 파일이 존재하거나
}
} catch (Exception e) {
throw new RuntimeException(e);
}
3. 파일의 존재 여부 확인하기
- 지정된 경로 + 파일명을 가진 파일이 있는지 확인
- .exists() : boolean 반환함
File newFile = new File("E:\\newfile.txt");
if (newFile.exists()) {
System.out.println("파일이 존재합니다.");
} else {
System.out.println("파일이 존재하지 않습니다.");
}
4. 파일의 읽기 가능 여부
- .canRead()
// File newFile = new File("E:\\newfile.txt");
// 파일의 읽기 여부
if (newFile.canRead()) {
System.out.println("파일의 읽기가 가능합니다.");
} else {
System.out.println("파일의 읽기가 가능하지 않습니다.");
}
4-1. 파일을 읽기 전용으로 전환시키기
- .setReadOnly()
- 읽기 전용으로 전환시키면, 이후에 외부에서 접근해도 편집후저장이 막힘.
//File newFile = new File("E:\\newfile.txt");
newFile.setReadOnly();
5. 파일의 쓰기 가능 여부
- .canWrite()
//File newFile = new File("E:\\newfile.txt");
if (newFile.canWrite()) {
System.out.println("파일 쓰기가 가능합니다.");
} else {
System.out.println("파일 쓰기를 할 수 없습니다.");
}
6. 파일 삭제하기
- .delete()
//File newFile = new File("E:\\newfile.txt");
// 파일 삭제
if (newFile.delete()) {
System.out.println("파일이 삭제되었습니다.");
} else {
System.out.println("파일이 삭제되지 않았습니다.");
}
'Java > Java 기본 문법' 카테고리의 다른 글
| [Java] 예외 처리 (Exception, Try-Catch, throws) + 대표적인 예외 처리들 + 기초적인 포인터 개념 (2) | 2025.01.02 |
|---|---|
| [Java] 파일 입출력 2 - 파일 쓰기 + 파일 읽어오기 (FileWriter, BufferedWriter, PrintWriter, FileReader, BufferedReader) (1) | 2025.01.02 |
| [Java] 문자열 슬라이싱 (Split 메소드) (1) | 2025.01.02 |
| [Java] 값 할당 vs 메모리 주소 할당 (데이터 타입에 따른 할당의 차이) with 함수 (0) | 2024.12.31 |
| [Java] 함수(Function) 기본 + void 함수란? (2) | 2024.12.31 |