폴더에 있는 파일을 읽어와서 보여주는 간단한 프로그램 입니다.
웹에서 파일을 다운로드 해줘야 하는데 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에 값을 하나씩 추가해 주고 화면으로 값을 넘겨 줍니다.
'Java' 카테고리의 다른 글
HTML form tag에서 value text 가져오기 정리 (0) | 2024.01.17 |
---|---|
[Java] stream과 filter 이용 List, Map 에서 필요 데이터 추출 (0) | 2022.10.01 |
삼항 연산자, 조건 연산자, 물음표(?) 조건문 정리 (0) | 2022.04.27 |
[Spring] java html tag 특수문자 escape 변환 (0) | 2021.12.09 |
[Firebase] Spring Boot에서 Firestore 데이베이스 CRUD 테스트 (0) | 2020.06.13 |