Backend/JAVA

JAVA 코딩 API (Application Programming Interface) - File

쏠솔랄라 2023. 3. 2. 12:14

 

 

API - File

 

java.io.File : 파일과 폴더를 구별하지 않고 함게 관리하는 클래스

 

 

import java.io.File;

public class Test01 {

 

public static void main (String[] args) {

 

File f = new File("sample.txt");

 

System.out.println(f.exists()); // 대상 파일이 존재하는가?

System.out.println(f.isFile()); // 대상이 파일인가?

System.out.println(f.isDirectory()); // 대상이 폴더인가

 

// 파일 정보

System.out.println(f);

 

System.out.println(f.getName()); // 파일명

System.out.println(f.getParent()); // 경로

System.out.println(f.getPath()); // 경로 + 파일명(상대경로) ; 파일 객체 생성 시 적은 경로 ; 현재 파일 기준

System.out.println(f.getAbsolutePath()); // 경로 + 파일명(절대경로) ; 컴퓨터 상 저장된 진짜 경로

System.out.println(f.length()); // 파일 크기

 

System.out.println(f.lastModified()); // 최종 수정 시작

System.out.println(System.currentTimeMillis());

 

System.out.println(f.canRead()); // 읽을 수 있는가

System.out.println(f.canWrite()); // 쓸 수 있는가

}

}

  

 


 

 

import java.io.File;

public class Test02 {

 

public static void main (String[] args) {

 

File f = new File("C:\\Users\\Administrator\\JAVA\\Workspace\\API");

 

// File f = new File("sample.txt");

 

String res = null;

 

if (f.isFile()) {

res = String.format("%-20s%10s%20dbyte", f.getName(), "[파일]", f.length());

} else {

res = String.format("%-20s%10s%20dbyte", "[" + f.getName() + "]", "[폴더]", f.length());

}

System.out.println(res);

}

}

 

 


 

 

import java.io.File;

public class Test03 {

public static void main (String [] args ) {

 

File f = new File("."); // 현재 폴더

System.out.println(f.getAbsolutePath()); //

 

System.out.println(f.exists());

System.out.println(f.isDirectory());

 

String[] names = f.list(); // 파일명

System.out.println(names.length);

for (String name : names) {

System.out.println(name);

}

// 파일명만 뽑아 온 것이기 때문에 할 수 있는 것은 없다

 

System.out.println("=============================");

 

File[] files = f.listFiles(); // 파일 객체

System.out.println(files.length);

 

for (File file : files) {

System.out.println(file.length()); // 파일의 크기(byte)

System.out.println(file.getName());

}

}

}

 

 


 

 

import java.io.File;
import java.io.IOException;

public class Test04 {

public static void main (String[] args) {

// 파일 생성 및 삭제
File f = new File("sample2.txt");

if(!f.exists()) {
try {
System.out.println(f.createNewFile());
} catch (IOException e) {
e.printStackTrace();
}
} else {
System.out.println(f.delete());
}
}
}

 

 


 

 

import java.io.File;
import java.io.IOException;

public class Test05 {

public static void main (String [] args) {

// 폴더 생성 및 삭제

File dir = new File("file");
// File dir = new File("file/f1/f2/f3");

System.out.println(dir.exists());
System.out.println(dir.isDirectory());


if(dir.exists()) {
// 내부에 파일이 있으면 삭제 불가
System.out.println(dir.delete());
} else {
//System.out.println(dir.mkdir()); // 폴더 생성
System.out.println(dir.mkdirs()); // 경로 상의 모든 폴더 생성
}
}
}

 

 


 

 

Exercise 1

 

import java.io.File;

public class FileManager {

 

public static void print(File f) {

 

String res = null;

 

if(f.isFile()) {

res = String.format("%-20s%20s%20dbyte", f.getName(), "[파일]", f.length());

} else {

res = String.format("%-20s%20s%20dbyte", f.getName(), "[폴더]", f.length());

}

System.out.println(res);

}

 

public static void printFolder2(File folder) {

 

if(!folder.isDirectory()) {

System.out.println(String.format("%-20s%20s%20dbyte", folder.getName(), "[파일]", folder.length()));

} else {

File[] files = folder.listFiles();

for(File file : files ) {

FileManager.print(file);

}

}

}

 

public static void printFolder(File folder) {

 

if (folder.exists()) {

if(folder.isFile()) {

System.out.println(String.format("%-20s%10s%20dbyte", folder.getName(), "[파일]", folder.length()));

} else {

File[] files = folder.listFiles();

 

for(File file : files) {

if(file.isDirectory()) {

FileManager.printFolder2(file);

}

FileManager.print(file);

}

}

}

}

 

// public static void remove(File file) {

//

// if(file.isDirectory()) {

// File[] files = file.listFiles();

//

// for (File f : files) {

// remove(f);

// }

//

// }

// System.out.println(file + "삭제완료");

// file.delete();

// }

}

 

// 출력 class

import java.io.File;

public class Homework {

public static void main (String[] args) {

 

File f = new File("C:\\Users\\Administrator\\JAVA\\Workspace");

FileManager.printFolder(f);

// FileManager.remove(f);

}

}

 

 

출력화면