从插件中获得绝对路径:
得到runtimeworkspace:
IFile与File转换
从编辑器来获得编辑文件
AaaaPlugin.getDefault().getStateLocation().makeAbsolute().toFile().getAbsolutePath());
通过文件得到Project:
IProject project
=
((IFile)o).getProject();
通过文件得到全路径:
String path
=
((IFile)o).getLocation().makeAbsolute().toFile().getAbsolutePath();
得到整个Workspace的根:
IWorkspaceRoot root
=
ResourcesPlugin.getWorkspace().getRoot();
从根来查找资源:
IResource resource
=
root.findMember(
new
Path(containerName));
从Bundle来查找资源:
Bundle bundle
=
Platform.getBundle(pluginId);
URL fullPathString = BundleUtility.find(bundle, filePath);
URL fullPathString = BundleUtility.find(bundle, filePath);
得到Appliaction workspace:
Platform.asLocalURL(PRODUCT_BUNDLE.getEntry(
""
)).getPath()).getAbsolutePath();
得到runtimeworkspace:
Platform.getInstanceLocation().getURL().getPath();
IFile与File转换
IFile file = editorinput.getFile();
file.refreshLocal(IResource.DEPTH_ZERO,null);
//=================================================
IProject fsProject = ResourceModelUtils.getProject(project);
IFolder tmpFolder = ResourceUtils.getFolder(fsProject, RepositoryConstants.TEMP_DIRECTORY, true);
String tmpFilename = "DOC" + documentationItem.getProperty().getId();
IFile fileTmp = tmpFolder.getFile(tmpFilename); //Get IFile reference by file name;
File file = fileTmp.getLocation().toFile(); //Get File reference by IFile reference.
File newFile = new File(fileTmp.getLocation().toOSString()); //Convert IFile to File.
file.refreshLocal(IResource.DEPTH_ZERO,null);
//=================================================
IProject fsProject = ResourceModelUtils.getProject(project);
IFolder tmpFolder = ResourceUtils.getFolder(fsProject, RepositoryConstants.TEMP_DIRECTORY, true);
String tmpFilename = "DOC" + documentationItem.getProperty().getId();
IFile fileTmp = tmpFolder.getFile(tmpFilename); //Get IFile reference by file name;
File file = fileTmp.getLocation().toFile(); //Get File reference by IFile reference.
File newFile = new File(fileTmp.getLocation().toOSString()); //Convert IFile to File.
从编辑器来获得编辑文件
IEditorPart editor
=
((DefaultEditDomain)(parent.getViewer().getEditDomain())).getEditorPart();
IEditorInput input = editor.getEditorInput();
if (input instanceof IFileEditorInput) {
IFile file = ((IFileEditorInput)input).getFile();
}
IEditorInput input = editor.getEditorInput();
if (input instanceof IFileEditorInput) {
IFile file = ((IFileEditorInput)input).getFile();
}