java.nio.file.FileSystem#getPath ( )源码实例Demo

下面列出了java.nio.file.FileSystem#getPath ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: java-1-class-demos   文件: ResolvePaths.java
public static void main(String[] args) {

		FileSystem fs = FileSystems.getDefault();
		
		String linuxPath = "/home/ard/Documents/tmp-pdf.txt";			// this is a linux filesytem path.
		String windowsPath = "C:\\Users\\aaron.decker\\Documents"; 		// in java you must escape backslashes
		
		Path testPath = fs.getPath(linuxPath);
		System.out.println(testPath);
		
		Path testPath2 = fs.getPath(windowsPath, "tmp.txt");
		System.out.println(testPath2);
		
		try {
			// null char is not allowed on linux "\0"
			// on windows ? is not allowed.
			Path testPath3 = fs.getPath("\0");  // special NULL char.
			System.out.println(testPath3);
		} catch (InvalidPathException e ) {
			System.out.println(e);
		}
		
	}
 
源代码2 项目: openjdk-jdk9   文件: Basic.java
/**
 * Test the URI of every file in the jrt file system
 */
@Test
public void testToAndFromUri() throws Exception {
    FileSystem fs = FileSystems.getFileSystem(URI.create("jrt:/"));
    Path top = fs.getPath("/");
    try (Stream<Path> stream = Files.walk(top)) {
        stream.forEach(path -> {
            URI u = path.toUri();
            assertTrue(u.getScheme().equalsIgnoreCase("jrt"));
            assertFalse(u.isOpaque());
            assertTrue(u.getAuthority() == null);
            assertEquals(u.getPath(), path.toAbsolutePath().toString());
            Path p = Paths.get(u);
            assertEquals(p, path);
        });
    }
}
 
源代码3 项目: lucene-solr   文件: TestIOUtils.java
public void testManyPartitions() throws Exception {
  assumeFalse("windows is not supported", Constants.WINDOWS);
  Path dir = createTempDir();
  dir = FilterPath.unwrap(dir).toRealPath();
  
  // fake ssd
  FileStore root = new MockFileStore(dir.toString() + " (/dev/zzz12)", "zfs", "/dev/zzz12");
  // make a fake /dev/zzz11 for it
  Path devdir = dir.resolve("dev");
  Files.createDirectories(devdir);
  Files.createFile(devdir.resolve("zzz12"));
  // make a fake /sys/block/zzz/queue/rotational file for it
  Path sysdir = dir.resolve("sys").resolve("block").resolve("zzz").resolve("queue");
  Files.createDirectories(sysdir);
  try (OutputStream o = Files.newOutputStream(sysdir.resolve("rotational"))) {
    o.write("0\n".getBytes(StandardCharsets.US_ASCII));
  }
  Map<String,FileStore> mappings = Collections.singletonMap(dir.toString(), root);
  FileSystem mockLinux = new MockLinuxFileSystemProvider(dir.getFileSystem(), mappings, dir).getFileSystem(null);
  
  Path mockPath = mockLinux.getPath(dir.toString());
  assertFalse(IOUtils.spinsLinux(mockPath));
}
 
源代码4 项目: copybara   文件: TransformWorkTest.java
@Test
public void testTreeStateRestored() throws IOException, ValidationException, RepoException {
  FileSystem fileSystem = Jimfs.newFileSystem();
  Path base = fileSystem.getPath("testTreeStateRestored");
  writeFile(base, "folder/file1.txt", "aaa");
  writeFile(base, "folder/file2.txt", "aaa");
  writeFile(base, "folder/file3.txt", "aaa");

  Files.createDirectories(workdir.resolve("folder"));
  origin.addChange(0, base, "message", /*matchesGlob=*/true);

  runWorkflow("test", ""
      + "def test(ctx):\n"
      + "    message = ''\n"
      + "    for f in ctx.run(glob(['**.txt'])):\n"
      + "        ctx.run(core.move(f.path, 'prefix_' + f.name))\n"
      + "        ctx.run(core.replace("
      + "before ='aaa', after = 'bbb', paths = glob(['prefix_' + f.name])))");

  assertThat(destination.processed.get(0).getWorkdir())
      .containsExactlyEntriesIn(ImmutableMap.of(
          "prefix_file1.txt", "bbb",
          "prefix_file2.txt", "bbb",
          "prefix_file3.txt", "bbb"));
}
 
源代码5 项目: copybara   文件: TransformWorkTest.java
@Test
public void testRunDynamicTransforms() throws IOException, ValidationException, RepoException {
  FileSystem fileSystem = Jimfs.newFileSystem();
  Path base = fileSystem.getPath("testRunDynamicTransforms");
  touchFile(base, "folder/file1.txt");
  touchFile(base, "folder/file2.txt");
  touchFile(base, "folder/file3.txt");

  Files.createDirectories(workdir.resolve("folder"));
  origin.addChange(0, base, "message", /*matchesGlob=*/true);

  runWorkflow("test", ""
      + "def test(ctx):\n"
      + "    message = ''\n"
      + "    for f in ctx.run(glob(['**.txt'])):\n"
      + "        ctx.run(core.move(f.path, 'other/folder/prefix_' + f.name))");

  assertThat(destination.processed.get(0).getWorkdir().keySet()).containsExactly(
      "other/folder/prefix_file1.txt",
      "other/folder/prefix_file2.txt",
      "other/folder/prefix_file3.txt");
}
 
源代码6 项目: openjdk-jdk9   文件: Basic.java
@Test(dataProvider = "packagesLinkedDirs")
public void dirStreamPackagesDirTest(String dirName) throws IOException {
    FileSystem fs = FileSystems.getFileSystem(URI.create("jrt:/"));
    Path path = fs.getPath(dirName);

    int childCount = 0, dirPrefixOkayCount = 0;
    try (DirectoryStream<Path> dirStream = Files.newDirectoryStream(path)) {
        for (Path child : dirStream) {
            childCount++;
            if (child.toString().startsWith(dirName)) {
                dirPrefixOkayCount++;
            }
        }
    }

    assertTrue(childCount != 0);
    assertEquals(dirPrefixOkayCount, childCount);
}
 
源代码7 项目: openjdk-jdk9   文件: TestFinder.java
private static Path[] getExcludeDirs() {
    final String excludeDirs[] = System.getProperty(TEST_JS_EXCLUDE_DIR, "test/script/currently-failing").split(" ");
    final Path[] excludePaths = new Path[excludeDirs.length];
    final FileSystem fileSystem = FileSystems.getDefault();
    int i = 0;
    for (final String excludeDir : excludeDirs) {
        excludePaths[i++] = fileSystem.getPath(excludeDir);
    }
    return excludePaths;
}
 
源代码8 项目: copybara   文件: SequenceTest.java
@Before
public void setup() throws IOException {
  FileSystem fs = Jimfs.newFileSystem();
  checkoutDir = fs.getPath("/test-checkoutDir");
  Files.createDirectories(checkoutDir);
  OptionsBuilder options = new OptionsBuilder();
  console = new TestingConsole();
  options.setConsole(console);
  sequence = new Sequence(options.general.profiler(), /*joinTransformations*/true,
                          ImmutableList.of(t1, t2));
}
 
源代码9 项目: openjdk-jdk9   文件: NotificationInfoTest.java
private static Set<String> findStandardMBeansFromRuntime() throws Exception {
    FileSystem fs = FileSystems.getFileSystem(URI.create("jrt:/"));
    Path modules = fs.getPath("/modules");
    return Files.walk(modules)
            .filter(path -> path.toString().endsWith(".class"))
            .map(path -> path.subpath(2, path.getNameCount()))
            .map(Path::toString)
            .map(s -> s.substring(0, s.length() - 6))  // drop .class
            .filter(s -> !s.equals("module-info"))
            .map(s -> s.replace('/', '.'))
            .collect(Collectors.toSet());
}
 
源代码10 项目: jdk8u_nashorn   文件: TestFinder.java
private static Path[] getExcludeDirs() {
    final String excludeDirs[] = System.getProperty(TEST_JS_EXCLUDE_DIR, "test/script/currently-failing").split(" ");
    final Path[] excludePaths = new Path[excludeDirs.length];
    final FileSystem fileSystem = FileSystems.getDefault();
    int i = 0;
    for (final String excludeDir : excludeDirs) {
        excludePaths[i++] = fileSystem.getPath(excludeDir);
    }
    return excludePaths;
}
 
源代码11 项目: IDES-Data-Preparation-Java   文件: Packager.java
public boolean renameZipEntries(String zipFile, String[] entryNames, String[] newEntryNames) throws Exception {
	if (logger.isDebugEnabled()) {
		StringBuilder sb = new StringBuilder("--> renameZipEntries()");
		sb.append(", zipFile=");
		sb.append(zipFile);
		sb.append(", entryNames=[");
		for (int i = 0; i < entryNames.length; i++) {
			if (i > 0) sb.append(",");
			sb.append(entryNames[i]);
		}
		sb.append("], newEntryNames=[");
		for (int i = 0; i < newEntryNames.length; i++) {
			if (i > 0) sb.append(",");
			sb.append(newEntryNames[i]);
		}
		sb.append("]");
		logger.debug(sb.toString());
	}
	boolean ret = false;
	if (entryNames.length != newEntryNames.length)
		throw new Exception("renameZipEntries entryNames and newEntryNames length should be same");
       HashMap<String, String> props = new HashMap<String, String>(); 
       props.put("create", "false"); 
       URI zipDisk = URI.create("jar:" + new File(zipFile).toURI());
   	FileSystem zipfs = FileSystems.newFileSystem(zipDisk, props);
   	Path pathInZipfile, renamedZipEntry;
   	for (int i = 0; i < entryNames.length; i++) {
           pathInZipfile = zipfs.getPath(entryNames[i]);
           renamedZipEntry = zipfs.getPath(newEntryNames[i]);
           Files.move(pathInZipfile, renamedZipEntry, StandardCopyOption.ATOMIC_MOVE);
   	}
       zipfs.close();
       ret = true;
	logger.debug("<-- renameZipEntries()");
	return ret;
}
 
源代码12 项目: bazel   文件: ManifestMergerActionTest.java
/**
 * Returns a runfile's path.
 *
 * <p>The `path` must specify a valid runfile, meaning on Windows (where $RUNFILES_MANIFEST_ONLY
 * is 1) the `path` must exactly match a runfiles manifest entry, and on Linux/MacOS `path` must
 * point to a valid file in the runfiles directory.
 */
@Nullable
private static Path rlocation(String path) throws IOException {
  FileSystem fs = FileSystems.getDefault();
  if (fs.getPath(path).isAbsolute()) {
    return fs.getPath(path);
  }
  if ("1".equals(System.getenv("RUNFILES_MANIFEST_ONLY"))) {
    String manifest = System.getenv("RUNFILES_MANIFEST_FILE");
    assertThat(manifest).isNotNull();
    try (BufferedReader r =
        Files.newBufferedReader(Paths.get(manifest), Charset.defaultCharset())) {
      Splitter splitter = Splitter.on(' ').limit(2);
      String line = null;
      while ((line = r.readLine()) != null) {
        List<String> tokens = splitter.splitToList(line);
        if (tokens.size() == 2) {
          if (tokens.get(0).equals(path)) {
            return fs.getPath(tokens.get(1));
          }
        }
      }
    }
    return null;
  } else {
    String runfiles = System.getenv("RUNFILES_DIR");
    if (runfiles == null) {
      runfiles = System.getenv("JAVA_RUNFILES");
      assertThat(runfiles).isNotNull();
    }
    Path result = fs.getPath(runfiles).resolve(path);
    assertThat(result.toFile().exists()).isTrue(); // comply with function's contract
    return result;
  }
}
 
源代码13 项目: openjdk-jdk9   文件: CustomLauncherTest.java
private static String[] getLauncher() throws IOException {
    String platform = getPlatform();
    if (platform == null) {
        return null;
    }

    String launcher = TEST_SRC + File.separator + platform + "-" + ARCH +
                      File.separator + "launcher";

    final FileSystem FS = FileSystems.getDefault();
    Path launcherPath = FS.getPath(launcher);

    final boolean hasLauncher = Files.isRegularFile(launcherPath, LinkOption.NOFOLLOW_LINKS)&&
                                Files.isReadable(launcherPath);
    if (!hasLauncher) {
        System.out.println("Launcher [" + launcher + "] does not exist. Skipping the test.");
        return null;
    }

    // It is impossible to store an executable file in the source control
    // We need to copy the launcher to the working directory
    // and set the executable flag
    Path localLauncherPath = FS.getPath(WORK_DIR, "launcher");
    Files.copy(launcherPath, localLauncherPath,
               StandardCopyOption.REPLACE_EXISTING);
    if (!Files.isExecutable(localLauncherPath)) {
        Set<PosixFilePermission> perms = new HashSet<>(
            Files.getPosixFilePermissions(
                localLauncherPath,
                LinkOption.NOFOLLOW_LINKS
            )
        );
        perms.add(PosixFilePermission.OWNER_EXECUTE);
        Files.setPosixFilePermissions(localLauncherPath, perms);
    }
    return new String[] {launcher, localLauncherPath.toAbsolutePath().toString()};
}
 
源代码14 项目: JVoiceXML   文件: ConfigurationFolderMonitor.java
/**
 * Resolves this path against the config folder.
 * @param path the observed path
 * @return a file object relative to the config folder.
 * @throws IOException error resolving the path
 */
private File resolve(final Path path) throws IOException {
    final FileSystem filesystem = FileSystems.getDefault();
    final String canonicalPath = configFolder.getCanonicalPath();
    final Path configFolderPath = filesystem.getPath(canonicalPath);
    final Path resolvedPath = configFolderPath.resolve(path);
    return resolvedPath.toFile();
}
 
private static Path getPath(FileSystem fs, String relativePath) {
    return fs.getPath(relativePath.replace("/", fs.getSeparator()));
}
 
源代码16 项目: powsybl-core   文件: LocalComputationConfig.java
private static Path getDefaultLocalDir(FileSystem fileSystem) {
    return fileSystem.getPath(DEFAULT_LOCAL_DIR);
}
 
源代码17 项目: galleon   文件: MavenProducerBase.java
protected static Path getProducerDir(FileSystem zipfs, String producerName) {
    return zipfs.getPath(GALLEON, UNIVERSE, PRODUCER, producerName);
}
 
源代码18 项目: openjdk-jdk8u-backup   文件: TestFinder.java
static <T> void findAllTests(final List<T> tests, final Set<String> orphans, final TestFactory<T> testFactory) throws Exception {
    final String framework = System.getProperty(TEST_JS_FRAMEWORK);
    final String testList = System.getProperty(TEST_JS_LIST);
    final String failedTestFileName = System.getProperty(TEST_FAILED_LIST_FILE);
    if (failedTestFileName != null) {
        final File failedTestFile = new File(failedTestFileName);
        if (failedTestFile.exists() && failedTestFile.length() > 0L) {
            try (final BufferedReader r = new BufferedReader(new FileReader(failedTestFile))) {
                for (;;) {
                    final String testFileName = r.readLine();
                    if (testFileName == null) {
                        break;
                    }
                    handleOneTest(framework, new File(testFileName).toPath(), tests, orphans, testFactory);
                }
            }
            return;
        }
    }
    if (testList == null || testList.length() == 0) {
        // Run the tests under the test roots dir, selected by the
        // TEST_JS_INCLUDES patterns
        final String testRootsString = System.getProperty(TEST_JS_ROOTS, "test/script");
        if (testRootsString == null || testRootsString.length() == 0) {
            throw new Exception("Error: " + TEST_JS_ROOTS + " must be set");
        }
        final String testRoots[] = testRootsString.split(" ");
        final FileSystem fileSystem = FileSystems.getDefault();
        final Set<String> testExcludeSet = getExcludeSet();
        final Path[] excludePaths = getExcludeDirs();
        for (final String root : testRoots) {
            final Path dir = fileSystem.getPath(root);
            findTests(framework, dir, tests, orphans, excludePaths, testExcludeSet, testFactory);
        }
    } else {
        // TEST_JS_LIST contains a blank speparated list of test file names.
        final String strArray[] = testList.split(" ");
        for (final String ss : strArray) {
            handleOneTest(framework, new File(ss).toPath(), tests, orphans, testFactory);
        }
    }
}
 
源代码19 项目: turbine   文件: ClassWriterTest.java
@Test
public void roundTrip() throws Exception {
  FileSystem fs = Jimfs.newFileSystem(Configuration.unix());
  Path path = fs.getPath("test/Test.java");
  Files.createDirectories(path.getParent());
  Files.write(
      path,
      ImmutableList.of(
          "package test;",
          "import java.util.List;",
          "class Test<T extends String> implements Runnable {", //
          "  public void run() {}",
          "  public <T extends Exception> void f() throws T {}",
          "  public static int X;",
          "  class Inner {}",
          "}"),
      UTF_8);
  Path out = fs.getPath("out");
  Files.createDirectories(out);

  JavacFileManager fileManager = new JavacFileManager(new Context(), false, UTF_8);
  fileManager.setLocationFromPaths(StandardLocation.CLASS_OUTPUT, ImmutableList.of(out));
  DiagnosticCollector<JavaFileObject> collector = new DiagnosticCollector<>();
  JavacTask task =
      JavacTool.create()
          .getTask(
              new PrintWriter(
                  new BufferedWriter(new OutputStreamWriter(System.err, UTF_8)), true),
              fileManager,
              collector,
              ImmutableList.of("-source", "8", "-target", "8"),
              /* classes= */ null,
              fileManager.getJavaFileObjects(path));

  assertWithMessage(collector.getDiagnostics().toString()).that(task.call()).isTrue();

  byte[] original = Files.readAllBytes(out.resolve("test/Test.class"));
  byte[] actual = ClassWriter.writeClass(ClassReader.read(null, original));

  assertThat(AsmUtils.textify(original, /* skipDebug= */ true))
      .isEqualTo(AsmUtils.textify(actual, /* skipDebug= */ true));
}
 
private static Path resolve(Path base, String relativePath) {
    FileSystem fs = base.getFileSystem();
    Path rp = fs.getPath(relativePath.replace("/", fs.getSeparator()));
    return base.resolve(rp);
}