Renommer fichier java renameTo

yotheyoung -  
amel.ammoula Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -
j'ai un probleme avec la methode renameTo pour renommer un fichier
je suis dans un projet eclipse.

losrque j'execute :


File source=new File("src/source.txt");
source.createNewFile();
source.renameTo(new File("src/dest.txt");

la ça marche,


File source=new File("src/source.txt");
source.createNewFile();
File dest=new File("src/dest.txt");
dest.createNewFile();
source.renameTo(dest);

par contre la ca me retourne false tout le temps, je verifie bien que je n'utilise pas deja les fichiers, q'ils sont bien crées.


qui peut me répondre??
A voir également:

6 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut
Oui, c'est possible. Ou alors tu ne crées pas le fichier dest avec CreateNewFile().
L'important c'est de pas créer un fichier ou renommer un fichier avec un nom existant déjà dans le répertoire courant.

Cordialement
2
modze
 
salut
je suis d'accord avec toi fiddy
fallait pas créer le fichier mais avec la methode file.delete() ça trés bien pour moi aussi

donc sa methode est acceptable

Merci
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut

Dans le deuxième cas, tu crées le fichier dest. Et tu renommes après le fichier source en dest. Ce qui devrait écraser un fichier existant. D'où l'impossibilité.
2
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Il est impossible d'avoir deux fichiers de même nom dans le même répertoire sur un système. Et heureusement, sinon il ne saurait pas lequel des fichiers faut lancer.

Cordialement
2
yotheyoung Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   3
 
a bon je croyais que je devais obtenir deux fichiers du meme nom , en l'occurrence "src/dest.txt"??
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LE JEUNE
 
d'accord merci.

je viens de trouver, il semblerai que ça marche maintenant.

en fait une fois que mes deux fichier sont crées, j'utile la méthode File.delete() sur le fichier dest, ce fichier est donc supprimé(mais l'objet de type File existe toujours), puis je fais source.renameTo(dest).

Je pense que ça doit etre ça, je me trompe?

merci beaucoup!
1
amel.ammoula Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
moi aussi j'ai 1 problème au niveau de modification du nom du fichier voici le code


package components;

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.filechooser.*;


public class FileChooserDemo extends JPanel implements ActionListener {

static private final String newline = "\n";
JButton openButton, saveButton;
JTextArea log;
JFileChooser fc;
InputStream in;

public FileChooserDemo() {

super(new BorderLayout());
log = new JTextArea(5,20);
log.setMargin(new Insets(5,5,5,5));
log.setEditable(false);
JScrollPane logScrollPane = new JScrollPane(log);


fc = new JFileChooser();

openButton = new JButton("Open a File...");
saveButton = new JButton("Save a File...");
saveButton.addActionListener(this);


JPanel buttonPanel = new JPanel();
buttonPanel.add(saveButton);


add(buttonPanel, BorderLayout.PAGE_START);
add(logScrollPane, BorderLayout.CENTER);
}

public void actionPerformed(ActionEvent e) {


if (e.getSource() == saveButton) {
int returnVal = fc.showSaveDialog(FileChooserDemo.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();

try {
in = new FileInputStream(fc.getSelectedFile());

//*** Destination***

File dst = new File("c:/"+fc.getSelectedFile().getName());

//*** Creation d'un nouveau fichier***

dst.createNewFile();

dst.renameTo(new File("lamis")); // le fichier ne change pas son nom pour quoi????

OutputStream out = new FileOutputStream(dst);



//*** Transfert***
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);

}


//*** Fermeture des flux***
in.close();
out.close();
}

catch (FileNotFoundException e2) {}
catch (IOException e3){}


log.append("Saving: " + file.getName() + "." + newline);

}
else {
log.append("Save command cancelled by user." + newline);
}
log.setCaretPosition(log.getDocument().getLength());
}
}


private static void createAndShowGUI() {

JFrame frame = new JFrame("Upload");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


frame.add(new FileChooserDemo());


frame.pack();
frame.setVisible(true);
}

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {
public void run() {

UIManager.put("swing.boldMetal", Boolean.FALSE);
createAndShowGUI();
}
});
}






}
0
amel.ammoula Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
c'est quoi le problème a votre avis???????
0