본문 바로가기

How to./Java Programming

JAVA 디렉토리 목록 리스트파일로 만들기 예제

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;


class FileList {
 static long totalFiles = 0;
 static long totalDirs = 0;
 public static void main(String[] args) {

  File backF = new File("D:\\back.lst");
  if(!backF.exists()){
   System.out.println("파일이 없습니다.");
   System.exit(0);
  }
  File backlst = new File("D:\\backup.lst");  
  if(backlst.exists()){
   backlst.delete();
  }
  try {
   BufferedReader backR = new BufferedReader(new FileReader(backF));
   String line = backR.readLine();   
   BufferedWriter file = new BufferedWriter(new FileWriter(backlst,true));
   if(line != null){
    System.out.println("유효하지 않은 디렉토리 입니다.");
   }
   File dir = new File(line);
   printFileList(dir,file);
   file.close();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
 private static void printFileList(File dir,BufferedWriter file) {
  try{
   File[] files = dir.listFiles();
   ArrayList subDir = new ArrayList();
   for(int i = 0; i< files.length; i++){
    String filename = files[i].getName();
    if(files[i].isDirectory()){
     filename = filename+"\\";     
     subDir.add(i+"");
    }
    System.out.println(dir+"\\"+filename);
    file.write(dir+"\\"+filename);
    file.newLine();
   }
   for(int j =0; j<subDir.size();j++){
    int index = Integer.parseInt((String)subDir.get(j));    
    printFileList(files[index],file);
   }
  }catch(Exception e){
   e.printStackTrace();
  }
 }
}

----------------------------------------------------------------------------------특정 디렉토리 파일목록을 리스트를 만드는 예제

특정 디렉토리는 목록이 들어있는 파일에서 읽어서 옴


'How to. > Java Programming' 카테고리의 다른 글