2011-09-27 27 views
0

我正在開發一個RCP應用程序。在項目工作區中,我通過getFile(String name)getFolder(String name)方法獲取已知文件的文件/文件夾處理程序。在eclipse rcp項目中獲取文件處理程序的列表

是否有返回匹配正則表達式的文件的數組/列表的方法? (如getFiles("*.txt"))。

編輯: 這個工程。

IResource members[] = aFolder.members(); 
for (int i = 0; i < members.length; i++) { 
    if (members[i].getName().endsWith(".java")) { 
     //Do something 
    } 
} 

回答

0

如果您知道您的文件/文件夾指定文件夾中的所有直接子 - aFolder以上 - 那麼你的代碼是罰款(見下面的註釋)。

但是,如果你想訪問樹中任何級別的文件,那麼我會建議使用visitor構造:IResource.accept(IResourceProxyVisitor visitor, int memberFlags)。這有很多不同的版本,所以你最好檢查一下你最需要的。

注:IResourceProxyVisitor比其他方法和在你表現出了明確的版本的優點之一,是事實,這個版本不檢查文件系統中的資源是否還存在與否,因此它是非常快。