class virtual { static java.io.File newFile(String path) { return new java.io.File(rebase(path)); } static java.io.File newFile(File base, String path) { return new java.io.File(base, path); } static java.io.File newFile(String base, String path) { return new java.io.File(rebase(base), path); } static java.io.FileInputStream newFileInputStream(String path) throws java.io.IOException { return new java.io.FileInputStream(rebase(path)); } static java.io.FileOutputStream newFileOutputStream(String path) throws java.io.IOException { return new java.io.FileOutputStream(rebase(path)); } static java.io.FileOutputStream newFileOutputStream(String path, boolean append) throws java.io.IOException { return new java.io.FileOutputStream(rebase(path), append); } static java.io.FileInputStream newFileInputStream(File path) throws java.io.IOException { return new java.io.FileInputStream(rebase(path)); } static java.io.FileOutputStream newFileOutputStream(File path) throws java.io.IOException { return new java.io.FileOutputStream(rebase(path)); } static String virtual_baseDir = ""; static String rebase(String path) { if (new File(path).isAbsolute()) return path; else return new File(new File(virtual_baseDir), path).getAbsolutePath(); } static File rebase(File file) { return new File(rebase(file.getPath())); } }