본문 바로가기

JAVA

[JAVA] 폴더 안의 파일 리스트 검색 및 출력 후 파일(jsp, html) 내용 읽기

Eclipse 에서 내가 원하는 조건의 파일을 찾는 방법

간단한 조건들은 eclipse에서 Ctrl + F 또는 Ctrl + H 파일 찾기로 원하는 문자열이 포함된

파일을 찾을 수 있다.

하지만 두 가지 이상의 조건을 만족하는 파일을 찾으려면 일일이 파일을 다 확인해야 하는 경우가 생기는데

이럴 땐 java 코딩으로 노동력을 들이지 않고 찾을 수 있다.

 

 

 

특정 폴더의 파일을 출력하는 방법

 

 

listFiles() - 디렉토리에 있는 파일들을 배열로 리턴한다.

 

public static void main(String[] args) {
  File folder = new File("F:\\eclipse\\workspace");
  File files[] = folder.listFiles();
  
  for(int i=0; i<files.length; i++) {
    System.out.println(files[i]);
  }
}

 

결과

.metadata, .recommenders, Crawling, excel, HeadFirstJava, paging 폴더가 호출된것을 볼 수 있다.

 

 

폴더안에 있는 모든 파일들을 호출하는 방법

 

재귀함수를 사용해서 폴더안의 파일들 까지 모두 호출한다.

 

public static void main(String[] args) {
  folderInFiles("F:\\eclipse\\workspace");
}

public static void folderInFiles(String path) {
  File folder = new File(path);
  File files[] = folder.listFiles();

  for(int i=0; i<files.length; i++) {
    File file = files[i];
    if(file.isDirectory()) {
      folderInFiles(file.getPath());
    } else {
      System.out.println(files[i]);
    }
  }
}

 

결과

폴더안의 모든 파일들을 호출한다.

 

 

 

폴더안의 파일(jsp, html) 읽기

 

public static void main(String[] args) {
  folderInFiles("F:\\eclipse\\workspace\\excel");
}
	
public static void folderInFiles(String path) {
  File folder = new File(path);
  File files[] = folder.listFiles();

  for(int i=0; i<files.length; i++) {
    File file = files[i];
	if(file.isDirectory()) {
	  folderInFiles(file.getPath());
	} else {
	System.out.println(files[i]);

	try {
	  String fileLine = "";
	  FileReader fr = new FileReader(files[i]);
	  BufferedReader br = new BufferedReader(fr);

      while((fileLine = br.readLine()) != null ) {
        System.out.println(fileLine);
	  }

	  } catch(Exception e) {

      }
    }
  }
}