public static String externalize(Path path) { if (path.getFileSystem().provider().getScheme().equals("file")) { return path.toString(); } else { return path.toUri().toString(); } }
public static FileSystem openZip(Path in) throws IOException { for (FileSystemProvider p : FileSystemProvider.installedProviders()) { String s = p.getScheme(); if ("jar".equals(s) || "zip".equalsIgnoreCase(s)) { return p.newFileSystem(in, new HashMap<String, Object>()); } } throw new IOException("cant find zipfs support"); }
private static FileSystem createZip(Path output) throws IOException { Map<String, Object> env = new HashMap<>(); env.put("create", "true"); Files.deleteIfExists(output); Path parent = output.getParent(); if (parent != null && !Files.exists(parent)) { Files.createDirectories(parent); } for (FileSystemProvider p : FileSystemProvider.installedProviders()) { String s = p.getScheme(); if ("jar".equals(s) || "zip".equalsIgnoreCase(s)) { return p.newFileSystem(output, env); } } throw new IOException("cant find zipfs support"); }
private static void listFilesystems() { System.out.println("Installed filesystem providers:"); for (FileSystemProvider p : FileSystemProvider.installedProviders()) { System.out.println(" " + p.getScheme()); } }
public static FileSystem createZip(Path output) throws IOException { Map<String, Object> env = new HashMap<>(); env.put("create", "true"); Files.deleteIfExists(output); createParentDirectories(output); for (FileSystemProvider p : FileSystemProvider.installedProviders()) { String s = p.getScheme(); if ("jar".equals(s) || "zip".equalsIgnoreCase(s)) { return p.newFileSystem(output, env); } } throw new IOException("cant find zipfs support"); }
private static void listFilesystems() { System.out.println("Installed filesystem providers:"); for (FileSystemProvider p : FileSystemProvider.installedProviders()) { System.out.println(" " + p.getScheme()); } } }
@Implementation protected final AssetFileDescriptor openFd(String fileName) throws IOException { Path path = findAssetFile(fileName); if (path.getFileSystem().provider().getScheme().equals("jar")) { path = getFileFromZip(path); } ParcelFileDescriptor parcelFileDescriptor = ParcelFileDescriptor.open(path.toFile(), ParcelFileDescriptor.MODE_READ_ONLY); return new AssetFileDescriptor(parcelFileDescriptor, 0, Files.size(path)); }
try { for (FileSystemProvider provider : FileSystemProvider.installedProviders()) { if (provider.getScheme().equals(URI_SCHEME)) { return provider; FileSystemProvider.class, SystemJimfsFileSystemProvider.class.getClassLoader()); for (FileSystemProvider provider : loader) { if (provider.getScheme().equals(URI_SCHEME)) { return provider;
if (provider.getScheme().equalsIgnoreCase(scheme)) { return provider.getPath(uri);
if (provider.getScheme().equalsIgnoreCase(scheme)) { return provider.getPath(uri);
@Test public void second() throws Exception { TempDirectory tempDirectory = new TempDirectory("test"); try { Path jarPath = tempDirectory.create("some-jar").resolve("some.jar"); try (JarOutputStream out = new JarOutputStream(new FileOutputStream(jarPath.toFile()))) { out.putNextEntry(new JarEntry("README.txt")); out.write("hi!".getBytes()); } FileSystemProvider jarFSP = FileSystemProvider.installedProviders().stream() .filter(p -> p.getScheme().equals("jar")).findFirst().get(); Path fakeJarFile = Paths.get(jarPath.toUri()); // if Thread.interrupted() was true, this would fail in AbstractInterruptibleChannel: jarFSP.newFileSystem(fakeJarFile, new HashMap<>()); } finally { tempDirectory.destroy(); } fail("failed for the right reason"); } }
private static FileSystemProvider loadFileSystemProvider(String providerType) { FileSystemProvider provider = null; for ( FileSystemProvider p : FileSystemProvider.installedProviders() ) { if ( providerType.equals(p.getScheme()) ) { provider = p; break; } } return provider; }
private static FileSystemProvider loadFileSystemProvider(String providerType) { FileSystemProvider provider = null; for ( FileSystemProvider p : FileSystemProvider.installedProviders() ) { if ( providerType.equals(p.getScheme()) ) { provider = p; break; } } return provider; }
private static FileSystemProvider getSystemJimfsProvider() { for (FileSystemProvider provider : FileSystemProvider.installedProviders()) { if (provider.getScheme().equals(URI_SCHEME)) { return provider; } } return null; }
public synchronized FileSystemProvider getJarFSProvider() { if (jarFSProvider != null) { return jarFSProvider; } for (FileSystemProvider provider: FileSystemProvider.installedProviders()) { if (provider.getScheme().equals("jar")) { return (jarFSProvider = provider); } } return null; }
private static FileSystemProvider loadFileSystemProvider(String providerType) { FileSystemProvider provider = null; for ( FileSystemProvider p : FileSystemProvider.installedProviders() ) { if ( providerType.equals(p.getScheme()) ) { provider = p; break; } } return provider; }
@Override public String getScheme() { return this.homePath.getFileSystem().provider().getScheme(); } }
private static FileSystemProvider loadFileSystemProvider(String providerType) { FileSystemProvider provider = null; for ( FileSystemProvider p : FileSystemProvider.installedProviders() ) { if ( providerType.equals(p.getScheme()) ) { provider = p; break; } } return provider; }
private EightyPath checkProvider( @Nullable Path path ) { if( path == null ) { throw new IllegalArgumentException( "argument was null" ); } if( path.getFileSystem().provider() != this ) { throw new ProviderMismatchException( "expected path for " + getScheme() + " got " + path.getFileSystem().provider().getScheme() ); } if( !path.getFileSystem().isOpen() ) { throw new ClosedFileSystemException(); } return (EightyPath) path; }
private EightyFS checkProviderAndGet80( @Nullable Path path ) { if( path == null ) { throw new IllegalArgumentException( "argument was null" ); } if( path.getFileSystem().provider() != this ) { throw new ProviderMismatchException( "expected path for " + getScheme() + " got " + path.getFileSystem().provider().getScheme() ); } if( !path.getFileSystem().isOpen() ) { throw new ClosedFileSystemException(); } return ( (EightyFileSystem) path.getFileSystem() ).get80(); }