4
A
回答
6
的IProject
接口擴展有哪幾種findMember
方法。在使用getType
檢查其類型後,您可以獲得一個IResource,該IResource可以輸出到IFile
。通過這些接口,它們被正確記錄。
3
我面臨同樣的問題,這是短我做了什麼:
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包分隔符。所以我想你必須先得到正確的文件夾,然後是文件。
+0
這隻適用於java項目!如果你有pde(插件)或其他項目,JavaCore.create(project)會創建一個不存在的項目。 – Nachtgold 2012-10-26 09:26:57
相關問題
- 1. 在Eclipse中搜索文件
- 2. Eclipse插件:從其文件之一檢索IProject
- 3. 在eclipse中搜索* .class文件
- 4. 如何在eclipse clearcase中搜索文件?
- 5. 使用Eclipse搜索文件
- 6. Eclipse文件搜索緩存
- 7. 從Eclipse搜索中排除文件夾
- 8. 搜索在Eclipse
- 9. 搜索在Eclipse
- 10. 如何在Eclipse的文件搜索中跳過.svn-base文件?
- 11. 如何從Eclipse插件搜索文件?
- 12. 增強的Eclipse文件搜索插件
- 13. 如何在Eclipse中搜索文檔
- 14. 在SVN Eclipse插件中搜索
- 15. 如何從Eclipse中的文件搜索中排除.class文件?
- 16. 在intellij vs eclipse中搜索
- 17. 在Eclipse插件中搜索項目文件
- 18. 在Eclipse插件中提示文件搜索
- 19. 通過.jar文件搜索eclipse
- 20. 用於搜索的Eclipse文件關聯
- 21. eclipse搜索資源包括jar文件
- 22. eclipse插件代碼在指定位置創建IProject
- 23. Eclipse的文件搜索 - 如何搜索特定字符串
- 24. 如何從Eclipse IDE中刪除文件文件搜索
- 25. 從Eclipse文件搜索中排除文件夾名稱
- 26. 在python中搜索文件
- 27. 文件在C#中搜索
- 28. 在Lua中搜索文件
- 29. 在JSON文件中搜索
- 30. 在csv文件中搜索
findMembers沒有爲我工作.... 但我試過Icontainer.members(),它的工作.. 感謝您的幫助... – 2010-08-04 14:50:45
我有幾年的Eclipse插件開發經驗。如果有一個建議,我可以給你它是:使用源。開發您的代碼瀏覽和閱讀技能,並確保我始終可用的來源。 – zvikico 2010-08-04 15:08:20
請注意'IProject'不關心類路徑。 而'members()'函數將只返回直接的子對象。 所以你得到的不是類路徑中的文件,而是直接在項目根目錄中。 – Stroboskop 2011-10-11 13:39:52