2010-08-22 1 views
2

Как я могу найти ресурс с местоположениемURI?eclipse: Найти ресурс с местоположениемURI

Path path = new Path('/home/foo/eclipse/runtime-EclipseApplication/someproj/B.txt'); 
IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(path); 

Я знаю, что есть способ, с помощью locationURI из текущего проекта обрезать «ненужную» часть, но есть «лучше» способ SLOVE этого вопроса.

ответ

0

Вы можете использовать FileLocator, чтобы найти файл в вашей связке, если это то, что вы хотите (вместо того чтобы найти файл во время выполнения рабочего пространства), см Retrieve a file from within a folder in the workspace

+0

Это не совсем то, что я хотел. У меня есть абсолютный путь ОС к ресурсу текущего проекта eclipse. Поэтому я хочу найти IResource с абсолютным пути к ОС. В настоящее время я получаю null от метода findMember, потому что он ожидает путь, в котором рабочая область обрабатывается как корневой путь. В моем случае это будет /someproj/B.txt. Но у меня есть /home/foo/eclipse/runtime-EclipseApplication/someproj/B.txt – user427678

+0

@ user427678 Я вижу - не знал бы другого способа, кроме упомянутого вами решения: обрезка пути в зависимости от местоположения рабочей области. –

+0

в порядке. В любом случае! – user427678

3

Вы можете использовать следующую конструкцию:

ResourcesPlugin.getWorkspace().getRoot().findFilesForLocationURI(URIUtil.toURI(fileName)); 

где имя_файла - абсолютный путь File.getAbsolutePath()

и U RIUtil от org.eclipse.core.filesystem

+0

Спасибо, просто интересно, почему он не найдет все IResources, как это в целом, а не только для IFiles. –

Смежные вопросы