}
if (file == null) {
- if (base != null && !base.isDirectory()) {
- base = base.getParent();
- }
- if (base == null) {
- file = StandardFileSystems.local().findFileByPath(uri);
- if (file == null) {
- file = VirtualFileManager.getInstance().findFileByUrl(uri);
- }
- }
- else {
- file = VirtualFileManager.getInstance().findFileByUrl(base.getUrl() + "/" + uri);
- }
+ if (base == null) return StandardFileSystems.local().findFileByPath(uri);
+ if (!base.isDirectory()) base = base.getParent();
+ if (base == null) return StandardFileSystems.local().findFileByPath(uri);
+ file = VirtualFileManager.getInstance().findFileByUrl(base.getUrl() + "/" + uri);
+ if (file == null) return null;
}
return file;
@Test
public void testFindRelativeFile() throws Exception {
- VirtualFile root = VirtualFileManager.getInstance().findFileByUrl("temp:///");
- assertNotNull(root);
- VirtualFile file = VfsUtilCore.findRelativeFile(root.getUrl(), null);
- assertEquals(root, file);
-
File ioTestDataDir = new File(PathManagerEx.getTestDataPath());
VirtualFile testDataDir = LocalFileSystem.getInstance().findFileByIoFile(ioTestDataDir);
assertNotNull(testDataDir);