Notice
Recent Posts
Recent Comments
Link
관리 메뉴

왕초보 코딩 개발 일지 블로그

[23.06.01] 문자스트림 FileReader 와 FileWriter을 이용하여 c:\\windows\\system.ini 를 txt 파일로 복사하기 본문

Java/예제

[23.06.01] 문자스트림 FileReader 와 FileWriter을 이용하여 c:\\windows\\system.ini 를 txt 파일로 복사하기

아캔두우잇 2023. 6. 1. 11:54
반응형
package j20230601;

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class TextCopy { 

	public static void main(String[] args) {
		File src = new File("c:\\windows\\system.ini"); // 원본 파일 경로명
		File dest = new File("c:\\Temp\\system.txt"); // 복사 파일 경로명
		// String destParent = dest.getParent();
		File destP = new File("c:\\Temp");
		int c;
		try {
			FileReader fr = new FileReader(src); // 파일 입력 문자 스트림 생성
			FileWriter fw = new FileWriter(dest); // 파일 출력 문자 스트림 생성
			while((c = fr.read()) != -1) { // 문자 하나 읽고
				fw.write((char)c); // 문자 하나 쓰고
			}
			fr.close();
			fw.close();
			System.out.println( src.getPath()+ "를 " + dest.getPath()+ "로 복사하였습니다.");
			// 파일 복사 완료 후 c:\\Temp 폴더의 리스트를 출력
            // (파일/폴더명, 크기, 마지막 수정일자 표시)  
			
			System.out.println("-----" + dest.getPath() + "의 서브 리스트 입니다.-----");
			File[] subFiles = destP.listFiles(); // dest 는 "c:\\Temp\\system.txt" 이니까,
			// destP로 줘야 파일과 디렉토리 모두 리스트로 가져올 수 있음
			for(int i=0; i<subFiles.length; i++) {
				File f = subFiles[i];
				long t = f.lastModified(); // 마지막으로 수정된 시간
				System.out.print(f.getName());
				System.out.print("\t파일 크기: " + f.length()); // 파일 크기
				System.out.printf("\t수정한 시간: %tb %td %ta %tT\n",t, t, t, t);
				//                              월   일  요일 시분초  각각에 해당되는 t객체
			}
			} catch (IOException e) {
			System.out.println("파일 복사 오류");
		}
	}
}

* listFiles() 는 파일과 디렉터리 경로명을 File[ ] 배열로 리턴할 수 있다. 

File[ ] subFiles = destP.listFiles();

반응형