将逻辑位置转换为物理位置
Convert logical to physical location
我有这个逻辑位置:|project://testProject/src/style.css|
,我想将其转换为相关的物理位置。该位置首先传递到 Java 文件,我尝试在其中使用 URIResolverRegistry.getInstance().logicalToPhysical(theLoc);
方法对其进行转换。唯一的问题是它 returns 我传递给它的确切位置(逻辑位置)。所以它不会被转换。怎么会?我错过了什么吗?还是有其他方法可以解决这个问题?
实际上,project
应该已经是一个 "physical" URI。如果你想把它转换成文件系统上的绝对路径,那么这是不直接支持的。
但是,如果您在 Eclipse 上下文中并且可以自由依赖它,那么 rascal-eclipse 提供了这个 API:
IFile file = new ProjectURIResolver().resolveFile(myLoc);
String absolutePath = file.getLocation().toOSString();
我有这个逻辑位置:|project://testProject/src/style.css|
,我想将其转换为相关的物理位置。该位置首先传递到 Java 文件,我尝试在其中使用 URIResolverRegistry.getInstance().logicalToPhysical(theLoc);
方法对其进行转换。唯一的问题是它 returns 我传递给它的确切位置(逻辑位置)。所以它不会被转换。怎么会?我错过了什么吗?还是有其他方法可以解决这个问题?
实际上,project
应该已经是一个 "physical" URI。如果你想把它转换成文件系统上的绝对路径,那么这是不直接支持的。
但是,如果您在 Eclipse 上下文中并且可以自由依赖它,那么 rascal-eclipse 提供了这个 API:
IFile file = new ProjectURIResolver().resolveFile(myLoc);
String absolutePath = file.getLocation().toOSString();