[英]Search file in IProject - Eclipse
我需要找到eclipse項目中存在的特定文件,該文件位於項目的類路徑中。
我有IProject
實例但不知道如何獲得IFile
實例
IProject
接口擴展了IContainer
,它有幾個findMember
方法。 你得到一個IResource,可以在使用getType
檢查其類型后將其轉換為IFile
。 瀏覽這些界面,它們都有適當的文檔記錄。
我遇到了同樣的問題,這就是我所做的:
IResource getResource(IProject project, String folderPath, String fileName) {
IJavaProject javaProject = JavaCore.create(project);
for (IPackageFragmentRoot root : javaProject.getAllPackageFragmentRoots()) {
IPackageFragment folderFragment = root.getPackageFragement(folderPath);
IResource folder = folderFragment.getResource();
if (folder == null || ! folder.exists() || !(folder instanceof IContainer)) {
continue;
}
IResource resource = ((IContainer) folder).findMember(fileName);
if (resource.exists()) {
return resource;
}
}
// file not found in any source path
return null;
}
它看起來很丑陋,也許有更直接的方法。 但它的確有效。
如果需要使用類路徑,則必須使用IJavaProject
並且片段的工作方式可以防止直接搜索文件路徑,因為它將采用“。” 文件名中的(句點)是java包分隔符。 所以我想你必須首先得到正確的文件夾,然后是文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.