Renommer fichier java renameTo
yotheyoung
-
amel.ammoula Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
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??
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:
- Renameto java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
6 réponses
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
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
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é.
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é.
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
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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!
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!
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();
}
});
}
}
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();
}
});
}
}
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