2015-12-02 32 views
0

對於任務,我必須製作一個加密器和解密器。這些將採取文件夾路徑中的所有文件並對它們進行編碼。我知道如何指定文件夾的路徑。問題是,我不知道文件名,所以我需要檢測文件夾中的所有文件名。我只在這個練習中使用文本文檔,所以應該使它更容易。Java:使用Filewriter編輯任何文件名的所有文件

截至目前,我獲准使用的唯一類是:

的FileWriter(所有構造函數需要一個名稱,這將有助於如果有辦法解決!) 文件 PrintWriter的 掃描儀

我想這會是這樣的:
new FileWriter((*)".txt");

與*是任何文件名。但那不行。

+1

java.io.File中的list()方法,會給你一個給定文件夾中的所有文件(假設你創建的文件對象與文件夾路徑) – Berger

回答

0

首先用目錄的路徑創建一個File對象。

File directory = new File("your/path"); 

File類有一個名爲listFiles的成員函數,它有一個接受FilenameFilter的重載。 FilenameFilter是一個具有方法accept的接口,通過實現此功能,您可以指定要包含的文件。例如:

File[] txtfiles = directory.listFiles(new FilenameFilter(){ 
    @Override 
    public boolean accept(File dir, String filename) 
    { 
     return filename.endsWith(".txt"); 
    } 
}); 

現在txtfiles將包含在包含後綴名爲.txt指定目錄下的所有文件。這些文件創建一個FileWriter是不是很難了:

for(File file : txtfiles) 
{ 
    FileWriter writer = new FileWriter(file); 
    /*Your other code*/ 
}