Supprimer un repertoire non vide

Résolu
asetti Messages postés 61 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 15 mai 2010 - 13 août 2004 à 09:21
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 - 13 août 2004 à 14:21
Slt,
je dois supprimer un répertoire.
J'utilise donc le code ci-dessous qui le supprime que si le repertoire est vide.
comment faire pour pouvoir supprimer tout les fichiers du repertoire ou pour en obtenir une liste des fichiers existant
svp répondez moi

String rep="C:/nn";

if(new File(rep).exists()){
boolean suppr=new File(rep).delete() ;
}

3 réponses

indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
13 août 2004 à 09:42
Slut

si tu veux savoir le contenu du répertoire, tu peux soit utiliser
list() qui va te renvoyer un String[] contenant le nom des fichiers, ou tu peux utiliser listFiles() qui va te renvoyer un File[]
Du coup, si ton répertoire ne contient que des fichiers, tu peux faire un truc de ce style :
...
File[] files = rep.listFiles();

for(int i = 0; i < files.length(); i++) {
files[i].delete();
}
...


voilà

[Tout le monde a des idées : la preuve, c'est qu'il y en a de mauvaises]
3
asetti Messages postés 61 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 15 mai 2010
13 août 2004 à 12:21
Ok ton code ma super bien aider
voilà mon code qui fonctionne (ça peut aider quelqu'un) :
il supprime d'abord le contenu des repertoires puis copie des fichiers

package projetinstal;

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

public class Instal
extends JFrame {
JPanel contentPane;
JLabel jLabel1 = new JLabel();
JTextPane jTextPane1 = new JTextPane();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();

//Construire le cadre
public Instal() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}

//Initialiser le composant
private void jbInit() throws Exception {
contentPane = (JPanel)this.getContentPane();
jLabel1.setFont(new java.awt.Font("Dialog", 1, 18));
jLabel1.setForeground(Color.blue);
jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
jLabel1.setText("INSTALLATION GDE");
jLabel1.setBounds(new Rectangle(0, 5, 400, 24));
contentPane.setLayout(null);
this.setSize(new Dimension(400, 300));
this.setTitle("Titre du cadre");
jTextPane1.setFont(new java.awt.Font("Arial", 0, 12));
jTextPane1.setOpaque(false);
jTextPane1.setCaretColor(Color.white);
jTextPane1.setEditable(false);
jTextPane1.setText("Bonjour,\n\nLe logiciel GDE va être installé sur votre ordinateur.\nVous pourrez lancer le programme ou le désinstaller à partir du menu 'démarrer/Tous les programmes/GDE'\nSi ces raccourcis sont supprimés, vous pourrez les retrouvés dans 'C:/Program Files/GDE'.\n\nCliquez sur le bouton 'instal' pour installer le programme ou sur 'Annuler' pour quitter sans installer.\n");
jTextPane1.setBounds(new Rectangle(26, 36, 345, 177));
contentPane.setOpaque(true);

jButton1.setBounds(new Rectangle(65, 211, 90, 30));
jButton1.setText("Installer");
jButton1.addActionListener(new Instal_jButton1_actionAdapter(this));
jButton2.setBounds(new Rectangle(215, 211, 90, 30));
jButton2.setText("Annuler");
jButton2.addActionListener(new Instal_jButton2_actionAdapter(this));
contentPane.add(jLabel1, null);
contentPane.add(jTextPane1, null);
contentPane.add(jButton1, null);
contentPane.add(jButton2, null);

}

//Redéfini, ainsi nous pouvons sortir quand la fenêtre est fermée
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}

void jButton1_actionPerformed(ActionEvent e) {
boolean erreur = false;
byte[] tampon = new byte[4096];
FileOutputStream ecriture;
FileInputStream lecture;
String rep = "C:/Program Files/GDE/";
String rep2 = "D:/documents and Settings/All Users/Start Menu/Programs/GDE/";
String[] tabNom = new String[2];

//supprimer le répertoire programme files et le restaurer
if (new File(rep).exists()) {
File[] files = (new File(rep)).listFiles();
for (int i = 0; i < files.length; i++) {
files[i].delete();
}
}
else {
new File(rep).mkdir();
}

//supprimer le répertoire alluser/barre taches files et le restaurer
if (new File(rep2).exists()) {
File[] files = (new File(rep2)).listFiles();
for (int i = 0; i < files.length; i++) {
files[i].delete();
}
}
else {
new File(rep2).mkdir();
}
//copie du programme et du désinstalleur dans program Files
tabNom[0] = "GDE.exe";
tabNom[1] = "UninstallGDE.exe";
for (int num = 0; num < 2; num++) {
try {
lecture = new FileInputStream("./" + tabNom[num]);
ecriture = new FileOutputStream(rep + tabNom[num]);
int lu = lecture.read(tampon);
while (lu > 0) {
ecriture.write(tampon, 0, lu);
lu = lecture.read(tampon);
}
lecture.close();
ecriture.close();
}
catch (IOException ee) {
ee.printStackTrace();
erreur = true;
}
}

if (erreur == true) {
JOptionPane.showMessageDialog(null, "Un problème à été rencontré lors de la copie des fichier!!!/n/n Veuillez relancer l'installation",
"Erreur de copie des éléments",
JOptionPane.ERROR_MESSAGE);
}
//Création des raccourcis

}

void jButton2_actionPerformed(ActionEvent e) {
int rep = JOptionPane.showConfirmDialog(null,
"Voulez-vous quitter sans installer GDE",
"Quitter l'installation de GDE",
JOptionPane.YES_NO_OPTION);
if (rep == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
}

class Instal_jButton1_actionAdapter
implements java.awt.event.ActionListener {
Instal adaptee;

Instal_jButton1_actionAdapter(Instal adaptee) {
this.adaptee = adaptee;
}

public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}

class Instal_jButton2_actionAdapter
implements java.awt.event.ActionListener {
Instal adaptee;

Instal_jButton2_actionAdapter(Instal adaptee) {
this.adaptee = adaptee;
}

public void actionPerformed(ActionEvent e) {
adaptee.jButton2_actionPerformed(e);
}
}
3
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
13 août 2004 à 14:21
Oki, c'est gentil 8-)

[Tout le monde a des idées : la preuve, c'est qu'il y en a de mauvaises]
0
Rejoignez-nous