파일 다루기
import java.io.File;
import java.io.IOException;
public class _03_File {
public static void main(String[] args) {
// 파일 생성 + 정보 얻어오기
String fileName = "test.txt";
File file = new File(fileName);
try {
file.createNewFile(); // 파일 생성
if (file.exists()) {
System.out.println("파일 이름 : " + file.getName());
System.out.println("파일 절대 경로 : " + file.getAbsolutePath());
System.out.println("파일 크기 (Byte) : " + file.length());
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
폴더 다루기
import java.io.File;
public class _04_Folder {
public static void main(String[] args) {
String folderName = "A";
File folder = new File(folderName);
folder.mkdir();
if (folder.exists()) {
System.out.println("폴더가 존재합니다 : " + folder.getAbsolutePath());
}
System.out.println("----------------------------------");
folderName = "A/B/C";
// "A" + File.separator + "B" + File.separator + "C"
// 윈도우 : C:\\Users\\Nadocoding\\Desktop
// 맥 : /Users/Nadocoding/Desktop
folder = new File(folderName);
// folder.mkdir();
folder.mkdirs();
if (folder.exists()) {
System.out.println("폴더가 존재합니다 : " + folder.getAbsolutePath());
} else {
System.out.println("폴더 생성 실패 (mkdirs)");
}
}
}
파일과 폴더 조회
import java.io.File;
public class _05_FileAndFolder {
public static void main(String[] args) {
// String folder = "C:\\Users\\Nadocoding\\Desktop\\JavaWorkspace\\src\\chap_13";
String folder = "src/chap_13";
File filesAndFolders = new File(folder);
System.out.println("현재 폴더 경로 : " + filesAndFolders.getAbsolutePath());
for (File file : filesAndFolders.listFiles()) {
if (file.isFile()) {
System.out.println("(파일) " + file.getName());
} else if (file.isDirectory()) {
System.out.println("(폴더) " + file.getName());
}
}
}
}
파일 읽고 쓰기
import java.io.*;
public class _06_ReadWriteFile {
public static void main(String[] args) {
// BufferedReader : 파일에서 내용을 읽어올 때
// BufferedWriter : 파일에 내용을 쓸 때
// 파일 쓰기
// try(BufferedWriter bw = new BufferedWriter(new FileWriter("goodjob.txt", true))) {
//// bw.write("1. 이제 거의 끝이 보여요.");
//// bw.newLine();
//// bw.write("2. 여기까지 오신 여러분들 정말 대단해요!");
//// bw.newLine();
// bw.write("3. 조금만 더 힘내요!");
// } catch (IOException e) {
// throw new RuntimeException(e);
// }
// 파일 읽기
try (BufferedReader br = new BufferedReader(new FileReader("goodjob.txt"))) {
String line;
while((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
파일 삭제
import java.io.File;
public class _07_DeleteFile {
public static void main(String[] args) {
File file = new File("goodjob.txt");
if (file.exists()) {
if (file.delete()) {
System.out.println("파일 삭제 성공 : " + file.getName());
} else {
System.out.println("파일 삭제 실패 : " + file.getName());
}
}
File folder = new File("A");
if (folder.exists()) {
if (folder.delete()) {
System.out.println("폴더 삭제 성공 : " + folder.getAbsolutePath());
} else {
System.out.println("폴더 삭제 실패 : " + folder.getAbsolutePath());
}
}
if (deleteFolder(folder)) {
System.out.println("*폴더 삭제 성공 : " + folder.getAbsolutePath());
} else {
System.out.println("*폴더 삭제 실패 : " + folder.getAbsolutePath());
}
}
// deleteFolder(A)
// deleteFolder(B)
// deleteFolder(C)
// C.delete() 삭제
// B.delete() 삭제
// A.delete() 삭제
public static boolean deleteFolder(File folder) {
if (folder.isDirectory()) {
for (File file : folder.listFiles()) {
deleteFolder(file);
}
}
System.out.println("삭제 대상 : " + folder.getAbsolutePath());
return folder.delete();
}
}
'인강 보습 (인프런,유데미,패스트캠퍼스) > 나도코딩의 자바 기본편' 카테고리의 다른 글
입출력과 파일 (1) (0) | 2023.01.20 |
---|---|
쓰레드 (2) - 다중쓰레드, 동기화 (0) | 2023.01.20 |
쓰레드 - (1) Thread, Runnable, Join (0) | 2023.01.19 |
예외처리 (2) - Finally, Try with Resources, 사용자 정의 예외, 예외처리미루기 (0) | 2023.01.19 |
예외처리 - (1) Try Catch , Catch구문, Throw, (0) | 2023.01.19 |