2013-05-26 3 views
0

폴더의 모든 파일을 함수의 입력으로 전달하는 방법은 무엇입니까?폴더의 모든 파일을 함수의 입력으로 전달

내가 A라는 폴더가 있다고 가정하면이 파일 내에 1.txt, 2.txt3.txt의 세 파일이 있습니다.

반면에 입력으로 파일 이름을 가져 오는 기능이 있습니다. 이 함수는 폴더 A의 모든 파일을 입력으로 어떻게 실행하는지 말할 수 있습니다.

함수가 나는 readfile("1.txt"), readfile("2.txt")readfile("3.txt")를 호출 할

void readfile(String x) 

경우. 이 코드는 바로 파일을 인쇄

File mainFolder = new File("C:\\yourDir"); 
getFiles(mainFolder); 

public void getFiles(File f) 
{ 
    File files[]; 
    if(f.isFile()) 
    System.out.println(f.getAbsolutePath()); 
    else 
    { 
     files = f.listFiles(); 
     for (int i = 0; i < files.length; i++) 
     { 
     getFiles(files[i]); 
     } 
    } 
} 

다음과 같이

+1

직접 해보셨습니까? – WeMakeSoftware

+3

디렉토리의 파일을 반복합니다. [ "디렉토리를 반복하는 가장 좋은 방법"과 같은 많은 관련 질문/예제는 [ "\ [java \] list directory"] (http://stackoverflow.com/search?q=%5Bjava%5D+list+directory) Java에서? "] (http://stackoverflow.com/questions/3154488/best-way-to-iterate-through-a-directory-in-java) – user2246674

답변

1

당신은 디렉터리에서 모든 파일을 얻을 수 있습니다. 당신은 그것을 Set<String>에 저장하고, 그것을 당신의 기능에 줄 수 있습니다. 다른 파일을 읽으려면 많은 수의 FileReader를 만들어야합니다. 예를

당신은 내가 당신이 루프에 대한 무한한를 작성하고 각 독자 if(reader1.readLine()!=null)을 확인 suugest 한 번에 3 개 파일의 각 라인에하고자하는 경우
BufferedReader reader1 = new BufferedReader(new FileReader(new File("file1.txt"))); 
BufferedReader reader2 = new BufferedReader(new FileReader(new File("file2.txt"))); 
BufferedReader reader2 = new BufferedReader(new FileReader(new File("file3.txt"))); 

를 들어 . 모든 독자가 인 경우 break;을 반환 할 수 있습니다.을 반환합니다. 블록에있는 스트림을 닫는 것을 잊지 마십시오.

reader1.close(); 
reader1.close(); 
reader1.close(); 
관련 문제