Comment diviser chemin du système de fichiers en Java?
Si j'ai une variable de chaîne à l'intérieur d'une classe
MainActivity.selectedFilePath
qui a une valeur comme cela
/sdcard/images/mr.32.png
et je veux imprimer quelque part que le chemin d'accès à ce dossier sans le nom de fichier
/sdcard/images/
Vous pouvez utiliser des expressions régulières. Par exemple: stackoverflow.com/questions/2161511/quick-regexp-to-get-path
OriginalL'auteur Jeegar Patel | 2012-04-19
Vous devez vous connecter pour publier un commentaire.
Que vous pouvez faire:
Ou (moins recommandé)
Voir
OriginalL'auteur codaddict
OriginalL'auteur Kai
nouveau Fichier(MainActivity.selectedFilePath).getParent().getAbsolutePath()
OriginalL'auteur npe
Créer un Fichier objet avec ce chemin et ensuite utiliser la méthode getPath de Fichier De Classe.
OriginalL'auteur Averroes
OriginalL'auteur Dani
Vous pouvez utiliser
String.lastIndexOf(int ch);
qui vous donne la dernière occurrense du personnage chOriginalL'auteur DGomez
essayez ceci :
File file = new File("path");
parentPath = file.getParent();
parentDir = file.getParentFile();
OriginalL'auteur Erick de Oliveira Santos
Si les Fichiers existent réellement sur la boîte, vous pouvez envelopper les Chaînes de caractères dans un Fichier objet et l'appel de Fichier.getParent().
Si les fichiers n'existent pas, vous pouvez utiliser la Chaîne de caractères.split() la fonction split de la Chaîne "/" comme séparateur. Vous pouvez ensuite déposer la dernière Chaîne dans le tableau et de le reconstruire. Cette approche est plutôt sale.
Vous pouvez utiliser des expressions régulières pour remplacer la partie après le dernier /avec "".
OriginalL'auteur Qkyrie
OriginalL'auteur sathya
Découvrez Apache FileNameUtils dans le Apache Commons IO bibliothèque, et en particulier getFullPath().
OriginalL'auteur Brian Agnew
Voici la solution -
OriginalL'auteur kundan bora