我是Eclipse插件开发的新手,我正在尝试重命名我的链接文件。 我在Eclipse中创建了一个链接文件,如下所示:
IFile myLinkedFile = folder.getFile(originalFileName);
myLinkedFile.createLink(myabsolutePath, IResource.NONE, null);
这就像一个魅力。
但是,现在我想重命名myLinkedFile
而不更改原始文件的名称。就像在右键单击喜欢的文件时出现的上下文菜单中按F2或重命名的行为一样。
我正在尝试使用move()
originalFile.move(newPath, IResource.FORCE, null);
然而它总是抛出
org.eclipse.core.internal.resources.ResourceException
...并抱怨我的newPath
。有人能告诉我我的方法有什么问题,我该怎么做?
我的原始文件是位于C:/Temp/originalFile.txt
的文本文件。我想在我的工作区中将文件重命名为newFile.txt
。例外情况表示无效路径。对于newPath
我指定为C:/Temp/newFile.txt
在下面的示例中,原始文件位于我项目的资源文件夹中 在这里,我将创建一个名为myTextFiles的新文件夹。此文件夹将包含链接的文件 创建链接文件后,我试图重命名链接的文件。
IFolder folder = myCurrentProject.getFolder("myTextFiles");
folder.create(IResource.REPLACE, true, null);
IFile file = folder.getFile(absoluteLocation); //absolute location of folder containing images
file.createLink(absoluteLocation, IResource.REPLACE, null);
folder.refreshLocal(IResource.DEPTH_INFINITE, null);
String myNewFileName = "newFile.txt";
IFile myLinkedFile = folder.getFile(myNewFileName);
IPath newPath = new Path(myNewFileName);
IFile movedFile = folder.getFile(newFileName);
movedFile.createLink(newPath, IResource.NONE, null);
folder.refreshLocal(IResource.DEPTH_INFINITE, null);
答案 0 :(得分:0)
您只能使用move
将资源移动到Eclipse工作区中的新位置。
您为move
指定的路径必须是相对于Eclipse工作区根目录或相对于当前资源位置的路径 - 通常只是文件名。
所以
IPath newPath = new Path("/project/folder/newFile.txt");
或
IPath newPath = new Path("newFile.txt");
以'/'开头的路径相对于工作空间根(称为'绝对'路径),其他任何内容都与当前资源文件夹相关。
Eclipse工作区中的路径从不使用“C:/”