c:/test/sample 폴더를 만들고
c:/test/sample/sample.txt 파일을 만들어보자
test폴더에 sample 폴더가 없음!

=============================코드=============================
public static void main(String[] args) throws IOException {
// C:/test 폴더가 존재함
// C:/test/sample 폴더를 만들고 싶음
// C:/test/sample/sample.txt 파일을 만들고 싶음
// 1. C:/test/sample 폴더를 만들어보자
File dir = new File("C:/test/sample");
if(!dir.exists()) { // dir폴더가 존재하지 않는다면 / exists는 boolean타입
dir.mkdir(); // 실제로 폴더를 만들어주는 메서드
System.out.println("폴더 생성 완료!");
}
// 2. C:/test/sample/sample.txt 파일을 만들어보자
File file = new File(dir, "sample.txt");
if(!file.exists()) {
file.createNewFile(); // 새로운 파일을 만들어주세요!
System.out.println("파일 생성 완료!");
}
}
=============================실행=============================



그렇다면 FileIO_05 원본 소스 내용을 복사하여 이전 예제에서 만든 sample.txt파일에 내용을 넣어보자
=============================코드=============================
public static void main(String[] args) throws Exception {
// 원본 소스 파일 경로
Reader fr = new FileReader("C:\\NCS\\Workspace(java)\\Ch11_File_IO\\src\\goott\\FileIO_05.java");
// 원본 소스 파일이 복사되어 저장될 파일 경로
Writer fw = new FileWriter("C:\\test\\sample\\sample.txt");
while(true) {
int readByte = fr.read();
if(readByte == -1) {
break;
}
fw.write(readByte);
}
// 입출력 객체 닫기
fw.close(); fr.close();
System.out.println("파일 소스 복사 완료!!");
}

sameple.txt 파일에 내용이 그대로 복사된 것을 확인!

: 디렉토리에 포함된 파일 및 서브 디렉토리 목록 전부를 확인하여 File 객체 배열로 반환해주는 메서드
=============================코드=============================
public static void main(String[] args) {
File temp = new File("C:/Windows/Temp");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd a HH:mm"); // 월 : M, 분 : m, a : 오전오후
File[] contents = temp.listFiles(); // File[]은 객체 배열
System.out.println("이름 \t 형태 \t 크기 \t 날짜 \t 시간");
System.out.println("-------------------------------------------------------------------------------");
for(File file : contents) {
if(!file.isDirectory()) {
System.out.println(file.getName() + "\t" + file.length());
}else { // 파일이라면
System.out.print("<DIR>\t" + file.getName()); // getName은 file의 이름
}
// lastModified는 마지막 수정 날짜 및 시간을 반환
System.out.print(sdf.format(new Date(file.lastModified())));
System.out.println();
}
}
=============================실행=============================