폴더에 있는 파일을 읽어와서 보여주는 간단한 프로그램 입니다.

웹에서 파일을 다운로드 해줘야 하는데 Batch로 파일이 계속 생성되고 있어서 목록을 수작업으로 하려니 귀찮아서 자동으로 파일 목록을 생성하도록 하기위한 기초적인 부분입니다.

 

Windows에서는 C:\\folderName으로 하면 되고 UNIX/LINUX/usr/copycoding 이런식으로 폴더명을 변경하면 됩니다.

 

현재 D:\\temp라는 folder에는 파일과 하부 폴더가 아래 그림과 같이 존재 합니다.

 

 

폴더와 파일을 불러오는 프로그램 소스는 매우 간단 합니다.

 

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
 
public class DirList {
 
        public static void main(String[] args) {
               // TODO Auto-generated method stub
                 String dirName = "D:\\temp";
              File dir = new File(dirName);
      
              File[] files2 = dir.listFiles();
              for(File f: files2){
                    String str = f.getName();
              
                    if(f.isDirectory()){
                        System.out.print(str+"\t");
                        System.out.print("DIR\n");
                    }else{
                        long ltime = f.lastModified();
                        String pattern = "yyyy-MM-dd hh:mm aa";
                               SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
                              
                               Date lastModifiedDate = new Date( ltime );
                               String frmDate = simpleDateFormat.format(lastModifiedDate);
                              
                        System.out.print(str+"/\t"+ frmDate + "/\t" +  f.length()+"bytes\n");
                      
                    }
                  
                }
 
        }
 
}

 

폴더이면 폴더명만 출력하고 파일이면 파일명과 작성일자 그리고 사이즈를 출력 합니다.

이걸 실행하면 아래와 같은 결과가 출력 됩니다.

 

backup_0808.txt/      2022-05-16 04:59 오후/ 242bytes
backup_0809.txt/      2022-05-16 04:59 오후/ 242bytes
backup_0810.txt/      2022-05-16 04:59 오후/ 242bytes
backup_0811.txt/      2022-05-16 04:59 오후/ 242bytes
backup_배치.bat/       2022-05-16 04:59 오후/ 242bytes
연습1   DIR
연습2   DIR

 

 

연습1, 연습2는 폴더인데 이것의 내부에 있는 파일명도 필요하다면 파일 목록 출력하는 부분을 method로 만들어서 호출하면 될것 같고.

Vo하나 만들어서 List<Vo>에 담아 화면에 던지면 끝이네요.

 

 

댓글에 너무 설명이 부족해서 몇자 추가합니다.

 

외부에서 호출할 URI와 Method를 생성 합니다.

@GetMapping("/fine_info")
public String fileInfo(Model model) {

}

Vo는 File과 관련된 어떤 내용을 보여줄지에 따라서 생성합니다.

class FileInfo {
      private String fileName;
      private String fileTime;

       getter/setter 추가...

}

그리고 method내에서

List<FileInfo>를 선언하고 FileInfo의 setter에 값을 하나씩 추가해 주고 화면으로 값을 넘겨 줍니다.

 


+ Recent posts