OVH Cloud OVH Cloud

Manipulation de nom de répertoires

4 réponses
Avatar
Guillaume D.
Je conserve dans un String un nom de répertoire.
Existe-il une fonction pour obtenir la chaine du repertoire parent de ce
repertoire ?

fonction("c:\toto\titi") ==> "c:\toto"

4 réponses

Avatar
Bernard Bandiera
Guillaume D. écrivait dans le message
4103ea48$0$7095$ :
Tout d'abord, bonjour...

Je conserve dans un String un nom de répertoire.
Existe-il une fonction pour obtenir la chaine du repertoire parent de
ce repertoire ?

fonction("c:tototiti") ==> "c:toto"


En réponse immédiate et un peu rapide, j'utiliserais quelque chose comme
String.lastIndexOf('/') et je prendrais tout ce qui est à gauche... Mais il
y a certainement quelque chose de plus élégant à faire !

--
Bernard

Gloire à qui, n'ayant pas d'idéal sacro-saint
Se borne à ne pas trop emmerder son voisin
Georges Brassens - Don Juan

Avatar
Guillaume D.
Bernard Bandiera wrote:
Guillaume D. écrivait dans le message
4103ea48$0$7095$ :
Tout d'abord, bonjour...


Je conserve dans un String un nom de répertoire.
Existe-il une fonction pour obtenir la chaine du repertoire parent de
ce repertoire ?

fonction("c:tototiti") ==> "c:toto"



En réponse immédiate et un peu rapide, j'utiliserais quelque chose comme
String.lastIndexOf('/') et je prendrais tout ce qui est à gauche... Mais il
y a certainement quelque chose de plus élégant à faire !


Bah en fait, getParent() de File donne le repertoire du dessus.
Le problème, c'est qu'il faut créer un File et je ne sais pas ce que ca
implique en terme de verrou ou d'allocation, etc.

Si je crée un File sans rien ouvrir, il n'a pas de problèmes ?


Avatar
Bernard Bandiera
Guillaume D. écrivait dans le message
4103f133$0$15273$ :
Bernard Bandiera wrote:
Guillaume D. écrivait dans le message
4103ea48$0$7095$ :
Tout d'abord, bonjour...


Je conserve dans un String un nom de répertoire.
Existe-il une fonction pour obtenir la chaine du repertoire parent
de ce repertoire ?

fonction("c:tototiti") ==> "c:toto"



En réponse immédiate et un peu rapide, j'utiliserais quelque chose
comme String.lastIndexOf('/') et je prendrais tout ce qui est à
gauche... Mais il y a certainement quelque chose de plus élégant à
faire !


Bah en fait, getParent() de File donne le repertoire du dessus.
Le problème, c'est qu'il faut créer un File et je ne sais pas ce que
ca implique en terme de verrou ou d'allocation, etc.

Si je crée un File sans rien ouvrir, il n'a pas de problèmes ?


Pas que je sache (mais je ne suis pas un gourou !) Disons que la solution
que je donne est un peu moins directe, mais elle doit être un peu moins
consommatrice de ressources (pas de File instancié) Maintenant, est-ce
vraiment représentatif comme économie, en regard de la lisibilité et la
maintenabilité du source ?
--
Bernard

Gloire à qui, n'ayant pas d'idéal sacro-saint
Se borne à ne pas trop emmerder son voisin
Georges Brassens - Don Juan



Avatar
Cédric Chabanois
Il faut mieux utiliser File, au moins cela fonctionnera pour toutes les
plateformes.
En fait, il vaudrait même mieux aussi conserver ton répertoire dans un
objet File plutôt que dans un String, enfin si c'est possible. C'est
plus "typesafe".

Cédric

Bernard Bandiera wrote:

Guillaume D. écrivait dans le message
4103ea48$0$7095$ :
Tout d'abord, bonjour...



Je conserve dans un String un nom de répertoire.
Existe-il une fonction pour obtenir la chaine du repertoire parent
de ce repertoire ?

fonction("c:tototiti") ==> "c:toto"



En réponse immédiate et un peu rapide, j'utiliserais quelque chose
comme String.lastIndexOf('/') et je prendrais tout ce qui est à
gauche... Mais il y a certainement quelque chose de plus élégant à
faire !


Bah en fait, getParent() de File donne le repertoire du dessus.
Le problème, c'est qu'il faut créer un File et je ne sais pas ce que
ca implique en terme de verrou ou d'allocation, etc.

Si je crée un File sans rien ouvrir, il n'a pas de problèmes ?



Pas que je sache (mais je ne suis pas un gourou !) Disons que la solution
que je donne est un peu moins directe, mais elle doit être un peu moins
consommatrice de ressources (pas de File instancié) Maintenant, est-ce
vraiment représentatif comme économie, en regard de la lisibilité et la
maintenabilité du source ?
--
Bernard

Gloire à qui, n'ayant pas d'idéal sacro-saint
Se borne à ne pas trop emmerder son voisin
Georges Brassens - Don Juan