2016-04-08 21 views
-1

我有一個文件夾名稱「New folder」,裏面有3個文件。我需要使用Java打印包含我的名字「Sheba」作爲其內容的文件名。任何人都可以幫忙嗎?如何從一個文件夾中打印文件名,該文件夾包含使用java內部的特定遞歸字符串的內容

+0

請做一些文檔研究,去一趟,然後問你是否仍然有問題。 – jr593

+1

列出文件夾中的文件,讀取文件內容並查找「Sheba」。如果您發現它打印文件名稱。現在你只需要實現它。祝你好運。 – Thomas

+0

當然。你可以寫一些代碼來做到這一點。當您遇到該代碼的特定問題時再回來。這不是一個代碼寫入服務。 – Raedwald

回答

0

您只需使用Java.io.File的listFiles方法在目錄中列出文件。 這裏有一個例子,在這裏我把列表中的所有文件至極名包含Sheeba:

 ArrayList<File> findFiles= new ArrayList<File>(); 
    f = new File("[path2newFolder]"); 
    File[] paths = f.listFiles(); 


    for(File path:paths) 
    { // getting the files containing Sheeba 
     if (path.getName().contains("Sheeba"){ 
      findFiles.add(path); 
     } 
    } 

後,你可以列出包含在findFiles文件的內容。

0

看看FileFilterFilenameFilter接口。

它們允許您在調用File.listFiles方法時僅獲取所需的文件。使用它而不是在獲取它們之後過濾文件的一個優點是它更可重用。

例子: 過濾器類(你可以創建一個匿名的):

public class MyFileFilter implements FilenameFilter { 
    private String filenamePart; 
    public MyFileFilter(String filenamePart) { 
     this.filenamePart = filenamePart; 
    } 
    /** 
    * @see java.io.FilenameFilter#accept(java.io.File, java.lang.String) 
    */ 
    @Override 
    public boolean accept(File dir, String name) { 
     return name.contains(filenamePart); 
    } 
} 

你可以這樣調用它:

File[] paths = new File("c:\\myParentDirectory").listFiles(); 

請注意,您只列出文件(和目錄)只在這個父目錄中。不在子目錄中。

相關問題