java.nio.file.Path#getFileName ( )源码实例Demo

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

源代码1 项目: nexus-public   文件: BlobStoreUtilImpl.java
/**
 * @since 3.20
 */
@Override
public boolean validateFilePath(final String filePath, final int maxLength) {
  requireNonNull(filePath);
  checkArgument(maxLength > 0, "maxLength should be greater than zero.");

  Path path = Paths.get(separatorsToSystem(filePath)).toAbsolutePath();
  List<String> fileNames = new ArrayList<>();

  Path pathParent = path.getParent();
  while (pathParent != null) {
    if (path.getFileName() != null) {
      fileNames.add(path.getFileName().toString());
    }
    path = pathParent;
    pathParent = path.getParent();
  }
  return !fileNames.stream().anyMatch(fileOrDirectory -> fileOrDirectory.length() > maxLength);
}
 
源代码2 项目: testgrid   文件: TestNgResultsParser.java
/**
 * Searches the provided path for files named "TEST-.*.xml",
 * and returns the list of paths.
 *
 * @param dataBucket the data bucket folder where build artifacts are located.
 * @return list of paths of TEST-TestSuite.xml.
 */
private Set<Path> getResultInputFiles(Path dataBucket) {
    try {
        final Stream<Path> ls = Files.list(dataBucket);
        final Set<Path> files = ls.collect(Collectors.toSet());
        final Set<Path> inputFiles = new HashSet<>();
        for (Path file : files) {
            final Path fileName = file.getFileName();
            if (fileName == null) {
                continue;
            } else if (Files.isDirectory(file) && !"junitreports".equalsIgnoreCase(fileName.toString())) {
                final Set<Path> anInputFilesList = getResultInputFiles(file);
                inputFiles.addAll(anInputFilesList);
            } else if (fileName.toString().matches(RESULTS_TEST_SUITE_FILES_REGEX)) {
                inputFiles.add(file);
            }
        }
        return inputFiles;
    } catch (IOException e) {
        logger.error("Error while reading " + RESULTS_TEST_SUITE_FILES_REGEX + " files in " + dataBucket, e);
        return Collections.emptySet();
    }
}
 
源代码3 项目: jdk8u-jdk   文件: MimeTypesFileTypeDetector.java
@Override
protected String implProbeContentType(Path path) {
    Path fn = path.getFileName();
    if (fn == null)
        return null;  // no file name

    String ext = getExtension(fn.toString());
    if (ext.isEmpty())
        return null;  // no extension

    loadMimeTypes();
    if (mimeTypeMap == null || mimeTypeMap.isEmpty())
        return null;

    // Case-sensitive search
    String mimeType;
    do {
        mimeType = mimeTypeMap.get(ext);
        if (mimeType == null)
            ext = getExtension(ext);
    } while (mimeType == null && !ext.isEmpty());

    return mimeType;
}
 
源代码4 项目: cava   文件: Sodium.java
/**
 * Load and initialize the native libsodium shared library.
 *
 * <p>
 * If this method returns successfully (without throwing a {@link LinkageError}), then all future calls to methods
 * provided by this class will use the loaded library.
 *
 * @param path The path to the shared library.
 * @throws LinkageError If the library cannot be found, dependent libraries are missing, or cannot be initialized.
 */
public static void loadLibrary(Path path) {
  requireNonNull(path);
  if (!Files.exists(path)) {
    throw new IllegalArgumentException("Non-existent path");
  }

  Path dir = path.getParent();
  Path library = path.getFileName();

  LibSodium lib =
      LibraryLoader.create(LibSodium.class).search(dir.toFile().getAbsolutePath()).load(library.toString());
  initializeLibrary(lib);

  synchronized (LibSodium.class) {
    Sodium.libSodium = lib;
  }
}
 
源代码5 项目: update4j   文件: FileUtils.java
public static URI fromPath(Path path) {
    if (path.isAbsolute()) {
        Path filename = path.getFileName();

        return fromPath(filename);
    }

    try {
        String uri = URLEncoder.encode(path.toString().replace("\\", "/"), "UTF-8");

        uri = uri.replace("%2F", "/") // We still need directory structure
                        .replace("+", "%20"); // "+" only means space in queries, not in paths
        return URI.create(uri);
    } catch (UnsupportedEncodingException e) {
        throw new AssertionError(e);
    }

}
 
源代码6 项目: blynk-server   文件: BaseReportTask.java
private void sendEmail(Path output) throws Exception {
    String durationLabel = report.reportType.getDurationLabel().toLowerCase();
    String subj = "Your " + durationLabel + " " + report.getReportName() + " is ready";
    String gzipDownloadUrl = downloadUrl + output.getFileName();
    String dynamicSection = report.buildDynamicSection();
    mailWrapper.sendReportEmail(report.recipients, subj, gzipDownloadUrl, dynamicSection);
}
 
源代码7 项目: promagent   文件: JarFileNames.java
public static JarFileNames renameOrigJarFile(MavenProject project) throws MojoExecutionException {
    Path finalName = makePath(project.getBuild().getFinalName(), project);
    if (!Files.exists(finalName)) {
        throw new MojoExecutionException(finalName.getFileName() + ": file not found. This happens if promagent-maven-plugin is called before the original artifact was created.");
    }
    Path defaultFinalName = makePath(project.getArtifactId() + "-" + project.getArtifact().getVersion(), project);
    if (!Files.exists(defaultFinalName)) {
        mv(finalName, defaultFinalName);
        return new JarFileNames(finalName, defaultFinalName, defaultFinalName);
    } else {
        Path defaultFinalNameWithSuffix = makePath(project.getArtifactId() + "-" + project.getArtifact().getVersion() + "-orig", project);
        mv(finalName, defaultFinalNameWithSuffix);
        return new JarFileNames(finalName, defaultFinalName, defaultFinalNameWithSuffix);
    }
}
 
源代码8 项目: n4js   文件: AbstractFileChecker.java
protected static boolean hasExtension(Path path, String... extensions) {
	final Path namePath = path.getFileName();
	if (namePath == null) {
		return false;
	}
	final String name = namePath.toString();
	for (String ext : extensions) {
		if (name.endsWith(ext)) {
			return true;
		}
	}
	return false;
}
 
源代码9 项目: Velocity   文件: JavaPluginLoader.java
private Optional<SerializedPluginDescription> getSerializedPluginInfo(Path source)
    throws Exception {
  boolean foundBungeeBukkitPluginFile = false;
  try (JarInputStream in = new JarInputStream(
      new BufferedInputStream(Files.newInputStream(source)))) {
    JarEntry entry;
    while ((entry = in.getNextJarEntry()) != null) {
      if (entry.getName().equals("velocity-plugin.json")) {
        try (Reader pluginInfoReader = new InputStreamReader(in, StandardCharsets.UTF_8)) {
          return Optional.of(VelocityServer.GSON
              .fromJson(pluginInfoReader, SerializedPluginDescription.class));
        }
      }

      if (entry.getName().equals("plugin.yml") || entry.getName().equals("bungee.yml")) {
        foundBungeeBukkitPluginFile = true;
      }
    }

    if (foundBungeeBukkitPluginFile) {
      throw new InvalidPluginException("The plugin file " + source.getFileName() + " appears to "
          + "be a Bukkit or BungeeCord plugin. Velocity does not support Bukkit or BungeeCord "
          + "plugins.");
    }

    return Optional.empty();
  }
}
 
源代码10 项目: buck   文件: Resolver.java
private Path copy(ArtifactResult result, Path destDir) throws IOException {
  Path source = result.getArtifact().getFile().toPath();
  Path sink = destDir.resolve(source.getFileName());

  if (!Files.exists(sink)) {
    Files.copy(source, sink);
  }

  return sink.getFileName();
}
 
源代码11 项目: uima-uimaj   文件: MigrateJCas.java
/**
 * For Jars inside other Jars, we copy the Jar to a temp spot in the default file system
 * Extracted Jar is marked delete-on-exit
 * 
 * @param path embedded Jar to copy (only the last name is used, in constructing the temp dir)
 * @return a temporary file in the local temp directory that is a copy of the Jar
 * @throws IOException -
 */
private static Path getTempOutputPathForJarOrPear(Path path) throws IOException {
  Path localTempDir = getTempDir();
  if (path == null ) {
    throw new IllegalArgumentException();
  }
  Path fn = path.getFileName();
  if (fn == null) {
    throw new IllegalArgumentException();
  }
  Path tempPath = Files.createTempFile(localTempDir, fn.toString(),  "");
  tempPath.toFile().deleteOnExit();
  return tempPath;
}
 
源代码12 项目: module-ballerina-docker   文件: DockerGenUtils.java
/**
 * Extract the ballerina file name from a given file path.
 *
 * @param jarFilePath Uber jar file path.
 * @return Uber jar file name without ".jar"
 */
public static String extractJarName(Path jarFilePath) {
    if (null != jarFilePath) {
        Path fileName = jarFilePath.getFileName();
        if (null != fileName && fileName.toString().endsWith(".jar")) {
            return fileName.toString().replace(".jar", "");
        }
    }

    return null;
}
 
源代码13 项目: jmonkeybuilder   文件: AbstractFileEditor.java
@Override
@FxThread
public @NotNull String getFileName() {
    final Path editFile = getEditFile();
    final Path fileName = editFile.getFileName();
    return fileName.toString();
}
 
源代码14 项目: openjdk-jdk9   文件: Basic.java
@Override
public FileVisitResult preVisitDirectory(Path dir,
                                         BasicFileAttributes attrs)
{
    if (dir.getFileName() != null) {
        indent();
        System.out.println(dir.getFileName() + "/");
        indent++;
    }
    return FileVisitResult.CONTINUE;
}
 
源代码15 项目: commons-bcel   文件: JdkGenericDumpTestCase.java
private void find(final Path path) throws IOException {
    final Path name = path.getFileName();
    if (name != null && matcher.matches(name)) {
        try (final InputStream inputStream = Files.newInputStream(path)) {
            final ClassParser classParser = new ClassParser(inputStream, name.toAbsolutePath().toString());
            final JavaClass javaClass = classParser.parse();
            Assert.assertNotNull(javaClass);
        }

    }
}
 
源代码16 项目: carbon-kernel   文件: OSGiLibBundleDeployerUtils.java
/**
 * Constructs a {@code BundleInfo} instance out of the OSGi bundle file path specified.
 * <p>
 * If the specified file path does not satisfy the requirements of an OSGi bundle, no {@code BundleInfo} instance
 * will be created.
 *
 * @param bundlePath path to the OSGi bundle from which the {@link BundleInfo} is to be generated
 * @return a {@link BundleInfo} instance
 * @throws IOException if an I/O error occurs or if an invalid {@code bundlePath} is found
 */
private static Optional<BundleInfo> getBundleInfo(Path bundlePath) throws IOException {
    if ((bundlePath == null) || (!Files.exists(bundlePath))) {
        throw new IOException("Invalid OSGi bundle path. The specified path may not exist or " +
                "user may not have required file permissions for the specified path");
    }

    Path bundleFileName = bundlePath.getFileName();
    if (bundleFileName == null) {
        throw new IOException("Specified OSGi bundle file name is null: " + bundlePath);
    }

    String fileName = bundleFileName.toString();
    if (!fileName.endsWith(".jar")) {
        return Optional.empty();
    }

    try (JarFile jarFile = new JarFile(bundlePath.toString())) {
        Manifest manifest = jarFile.getManifest();

        if ((manifest == null) || (manifest.getMainAttributes() == null)) {
            throw new IOException("Invalid OSGi bundle found in the " + Constants.OSGI_LIB + " folder");
        }

        String bundleSymbolicName = manifest.getMainAttributes().getValue("Bundle-SymbolicName");
        String bundleVersion = manifest.getMainAttributes().getValue("Bundle-Version");

        if (bundleSymbolicName == null || bundleVersion == null) {
            throw new IOException("Required bundle manifest headers do not exist");
        }

        logger.log(Level.FINE,
                "Loading information from OSGi bundle: " + bundleSymbolicName + ":" + bundleVersion + "...");

        if (bundleSymbolicName.contains(";")) {
            bundleSymbolicName = bundleSymbolicName.split(";")[0];
        }

        //  checks whether this bundle is a fragment or not
        boolean isFragment = (manifest.getMainAttributes().getValue("Fragment-Host") != null);
        int defaultBundleStartLevel = 4;
        BundleInfo generated = new BundleInfo(bundleSymbolicName, bundleVersion,
                "../../" + Constants.OSGI_LIB + "/" + fileName, defaultBundleStartLevel, isFragment);
        logger.log(Level.FINE,
                "Successfully loaded information from OSGi bundle: " + bundleSymbolicName + ":" + bundleVersion);
        return Optional.of(generated);
    }
}
 
源代码17 项目: sis   文件: TreeTables.java
/**
 * Finds the node for the given path, or creates a new node if none exists.
 * First, this method searches in the node {@linkplain TreeTable.Node#getChildren()
 * children collection} for the root element of the given path. If no such node is found,
 * a {@linkplain TreeTable.Node#newChild() new child} is created. Then this method
 * repeats the process (searching in the children of the child for the second path
 * element), until the last path element is reached.
 *
 * <p>For example if the given path is {@code "users/alice/data"}, then this method
 * finds or creates the nodes for the following tree, where {@code "from"} is the
 * node given in argument to this method:</p>
 *
 * {@preformat text
 *   from
 *     └─users
 *         └─alice
 *             └─data
 * }
 *
 * @param  from    the root node from which to start the search.
 * @param  column  the column containing the file name.
 * @param  path    the path for which to find or create a node.
 * @return the node for the given path, either as an existing node or a new node.
 */
public static TreeTable.Node nodeForPath(TreeTable.Node from,
        final TableColumn<? super String> column, final Path path)
{
    final Path parent = path.getParent();
    if (parent != null) {
        from = nodeForPath(from, column, parent);
    }
    Path filename = path.getFileName();
    if (filename == null) {
        filename = path.getRoot();
    }
    final String name = filename.toString();
    for (final TreeTable.Node child : from.getChildren()) {
        if (name.equals(child.getValue(column))) {
            return child;
        }
    }
    from = from.newChild();
    from.setValue(column, name);
    return from;
}
 
源代码18 项目: openjdk-jdk8u   文件: ClassFileReader.java
protected ClassFileReader(Path path) {
    this.path = path;
    this.baseFileName = path.getFileName() != null
                            ? path.getFileName().toString()
                            : path.toString();
}
 
源代码19 项目: hadoop-ozone   文件: SQLCLI.java
@Override
public int run(String[] args) throws Exception {
  CommandLine commandLine = parseArgs(args);
  if (commandLine.hasOption("help")) {
    displayHelp();
    return 0;
  }
  if (!commandLine.hasOption("p") || !commandLine.hasOption("o")) {
    displayHelp();
    return -1;
  }
  String value = commandLine.getOptionValue("p");
  LOG.info("DB path {}", value);
  // the value is supposed to be an absolute path to a container file
  Path dbPath = Paths.get(value);
  if (!Files.exists(dbPath)) {
    LOG.error("DB path not exist:{}", dbPath);
  }
  Path parentPath = dbPath.getParent();
  Path dbName = dbPath.getFileName();
  if (parentPath == null || dbName == null) {
    LOG.error("Error processing db path {}", dbPath);
    return -1;
  }

  value = commandLine.getOptionValue("o");
  Path outPath = Paths.get(value);
  if (outPath == null || outPath.getParent() == null) {
    LOG.error("Error processing output path {}", outPath);
    return -1;
  }

  if (outPath.toFile().isDirectory()) {
    LOG.error("The db output path should be a file instead of a directory");
    return -1;
  }

  Path outParentPath = outPath.getParent();
  if (outParentPath != null) {
    if (!Files.exists(outParentPath)) {
      Files.createDirectories(outParentPath);
    }
  }
  LOG.info("Parent path [{}] db name [{}]", parentPath, dbName);
  if (dbName.toString().endsWith(CONTAINER_DB_SUFFIX)) {
    LOG.info("Converting container DB");
    convertContainerDB(dbPath, outPath);
  } else if (dbName.toString().equals(OM_DB_NAME)) {
    LOG.info("Converting om DB");
    convertOMDB(dbPath, outPath);
  } else {
    LOG.error("Unrecognized db name {}", dbName);
  }
  return 0;
}
 
源代码20 项目: extract   文件: PosixHiddenFileMatcher.java
@Override
public boolean matches(final Path path) {
	final Path fileName = path.getFileName();

	return null != fileName && fileName.toString().startsWith(".");
}