139 votes

Comment obtenir uniquement le nom du répertoire parent d'un fichier spécifique

Comment obtenir ddd partir du nom de chemin où réside le test.java.

 File file = new File("C:/aaa/bbb/ccc/ddd/test.java");

36voto

neves Points 3075

Depuis Java 7, vous disposez de la nouvelle API Paths . La solution moderne et la plus propre est :

 Paths.get("C:/aaa/bbb/ccc/ddd/test.java").getParent().getFileName();

Le résultat serait :

 C:/aaa/bbb/ccc/ddd

20voto

File f = new File("C:/aaa/bbb/ccc/ddd/test.java");
System.out.println(f.getParentFile().getName())

f.getParentFile() peut être nul, vous devriez donc le vérifier.

20voto

Ishan Liyanage Points 131

Utilisez ci-dessous,

 File file = new File("file/path");
String parentPath = file.getAbsoluteFile().getParent();

7voto

Steel FedeX Points 291

Si vous n'avez qu'un chemin String et que vous ne voulez pas créer de nouvel objet File, vous pouvez utiliser quelque chose comme :

 public static String getParentDirPath(String fileOrDirPath) {
    boolean endsWithSlash = fileOrDirPath.endsWith(File.separator);
    return fileOrDirPath.substring(0, fileOrDirPath.lastIndexOf(File.separatorChar, 
            endsWithSlash ? fileOrDirPath.length() - 2 : fileOrDirPath.length() - 1));
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X