본문 바로가기
Java

폴더 목록 조회하기

by 캡틴노랑이 2015. 9. 7.
반응형

호출

FileSystem fs = new FileSystem();
fs.GetDirectoryInfo("D:/01.DevData");

 

 

package Library;

import java.io.File;
import java.io.FileFilter;
import java.util.List;
import java.util.ArrayList;

import DataType.DirectoryData;


public class FileSystem {
 
 //파일 읽기 시작
 public DirectoryData GetDirectoryInfo(String path) 
 {
  DirectoryData data = SetData(path, path, true, "folder", GetData(path));
  return data;
 }
 
 //파일 재귀
 private ArrayList<DirectoryData> GetData(String path)
 {
  ArrayList<DirectoryData> data = new ArrayList<DirectoryData>();
  //파일 불러오기 하위 있으면 하위 계속
  File fname = new File(path);
  File[] arrFile = fname.listFiles();//하위으 목록 조회
  
  for(File f : arrFile)
  { 
   if(f.isDirectory())
   {
    //하위 목록 의 하위로 진입.
    String id = f.getPath();
    String label = f.getName();
    boolean inode = false;
    String file = "folder";    
    ArrayList<DirectoryData> branch = GetData(f.getPath());
    
    //데이터 저장    
    data.add(SetData(id, label, inode, file, branch));
   }
  }
  
  return data;
 }
 
 //파일 정보 초기화
 private DirectoryData SetData(String id, String label, boolean inode, String icon, ArrayList<DirectoryData> branch)
 {
  DirectoryData dirData = new DirectoryData();
  
  dirData.setId(id);
  dirData.setLabel(label);
  dirData.setInode(inode);
  dirData.setIcon(icon);
  dirData.setBranch(branch);  
  return dirData;
 }
}

 

반응형

'Java' 카테고리의 다른 글

Eclipse 일부 소스 build 제외 하기  (4) 2016.05.16
부적합한 열 인덱스  (2) 2016.05.12
String.format  (4) 2015.09.07
Set  (4) 2015.09.07
관련 URL  (1) 2015.09.07

댓글