OVH Cloud OVH Cloud

changer l'extension ?

7 réponses
Avatar
yomgui
bonjour,

je voudrai changer utiliser le meme nom de fichier mais avec une autre
exension,
comment dois-je faire ?

merci

yomgui

7 réponses

Avatar
yomgui
je realise que je n'ai pas ete tres clair.

j'ai une String du type c:/lala/toto.ext
que je voudrai transformer en c:/lala/toto.txt

comment puis-je faire ?

merci

yomgui
Avatar
Adobex
Es-tu allé voir dans les javadocs?
Pourtant dans la classe File de java.io il y a une méthode 'rename' qui doit
remplir la fonction que tu recherches. Ensuite, tu devrais parvenir assez
facilement à effectuer ton renommage.
Si ce n'est pas le cas n'hésites pas à revenir ici ;)

Adobex


"yomgui" a écrit dans le message de
news:
je realise que je n'ai pas ete tres clair.

j'ai une String du type c:/lala/toto.ext
que je voudrai transformer en c:/lala/toto.txt

comment puis-je faire ?

merci

yomgui



Avatar
yomgui
Adobex wrote:

Es-tu allé voir dans les javadocs?
Pourtant dans la classe File de java.io il y a une méthode 'rename' qui doit
remplir la fonction que tu recherches. Ensuite, tu devrais parvenir assez
facilement à effectuer ton renommage.
Si ce n'est pas le cas n'hésites pas à revenir ici ;)


je ne cherche pas a renomer un fichier,
mais a creer un nouveau nom de fichier
mon probleme est que je ne sais pas
comment retirer de la String
les derniers caracteres correspondant a l'extension,
pour ensuite ajouter la nouvelle extension.

merci

yomgui

Avatar
Olivier Thomann
On Wed, 10 Sep 2003 21:03:22 +0200, yomgui wrote:
je ne cherche pas a renomer un fichier,
mais a creer un nouveau nom de fichier
mon probleme est que je ne sais pas
comment retirer de la String
les derniers caracteres correspondant a l'extension,
pour ensuite ajouter la nouvelle extension.
Voilà une façon de faire en utilisant des APIs 1.4:

public class A {

public static void main(String[] args) {
String fileName = "toto.txt";
StringBuffer buffer = new StringBuffer(fileName);
buffer.replace(
buffer.lastIndexOf("."),
buffer.length(),
".manouvelleextension");
System.out.println(buffer.toString());
}
}
Affiche au runtime:
toto.manouvelleextension
--
Olivier

Avatar
ali.k
yomgui a écrit:
bonjour,

je voudrai changer utiliser le meme nom de fichier mais avec une autre
exension,
comment dois-je faire ?

merci

yomgui

tu dois récuperer le nom de ton fichier, l'analyser afin de remplacer

l'extension et le renommer avec le nouveau nom.
ex:

java.io.File f = new java.io.File("toto.ext");
String nom = f.getName();
StringBuffer sb = new StringBuffer();
int i = 0;
char c;
while((c = nom.charAt(i)) != '.')
{
sb.append(c);
i++;
}
sb.append(".txt");
nom = new String(sb);
f.renameTo(nom);

Avatar
yomgui
merci a tous pour vos reponses

yomgui
Avatar
Bibiche
Lu,

java.io.File f = new java.io.File("toto.ext");
String nom = f.getName();
StringBuffer sb = new StringBuffer();
int i = 0;
char c;
while((c = nom.charAt(i)) != '.')
{
sb.append(c);
i++;
}
sb.append(".txt");
nom = new String(sb);
f.renameTo(nom);



voila un nom de fichier qui fera planter ton code :
monFilm.xvid.avi

Je serais plutôt tenté d'utliser la méthode lastIndexOf (".")
String nom = f.getName ();
int i = nom.lastIndexOf (".");
if ( i != -1 )
{
nom = nom.substring (0, i-1);
}
nom += ".txt";

A+,

Bibiche.