diff --git a/src/main/java/at/beris/virtualfile/UrlFileContext.java b/src/main/java/at/beris/virtualfile/UrlFileContext.java index 4d789a7..2153097 100644 --- a/src/main/java/at/beris/virtualfile/UrlFileContext.java +++ b/src/main/java/at/beris/virtualfile/UrlFileContext.java @@ -84,7 +84,8 @@ public VirtualFile newFile(URL url) { VirtualFile file = null; StringBuilder stringBuilder = new StringBuilder(); - for (String pathPart : fullPath.split("/")) { + String[] pathParts = "/".equals(fullPath) ? new String[]{"/"} : fullPath.split("/"); + for (String pathPart : pathParts) { stringBuilder.append(pathPart); if (stringBuilder.length() < fullPath.length()) stringBuilder.append('/'); diff --git a/src/test/java/at/beris/virtualfile/UrlFileContextTest.java b/src/test/java/at/beris/virtualfile/UrlFileContextTest.java index 5bd8504..03606b4 100644 --- a/src/test/java/at/beris/virtualfile/UrlFileContextTest.java +++ b/src/test/java/at/beris/virtualfile/UrlFileContextTest.java @@ -9,7 +9,6 @@ package at.beris.virtualfile; -import at.beris.virtualfile.cache.FileCache; import at.beris.virtualfile.config.Configurator; import org.junit.Assert; import org.junit.Before; @@ -39,4 +38,10 @@ public void getParentFile() throws MalformedURLException { VirtualFile parentFile3 = fileContext.newFile(new URL("file:/this/")); Assert.assertNotSame(parentFile1, parentFile3); } + + @Test + public void newRootFile() throws MalformedURLException { + VirtualFile virtualFile = fileContext.newFile(new URL("file:/")); + Assert.assertNotNull(virtualFile); + } } \ No newline at end of file