IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Problème de suppression de File


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Par défaut Problème de suppression de File
    Bonjour, je voudrais supprimer des fichiers temp que je créé mais que delete() n'arrive pas à supprimer. Merci pour toutes vos réponse. voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    if (fichierMatrix.getName().contains(".xls"))
        	{
     
        		File temp = new File(ensemblePourGeneration.getDestination().getParentFile()+File.separator+fichierMatrix.getName()+".txt");
        		FileInputStream fis = null;
     
        		try {
        			fis = new FileInputStream(fichierMatrix.getPath());
        			HSSFWorkbook file = new HSSFWorkbook(new POIFSFileSystem(fis));
        			ExcelExtractor extractor = new ExcelExtractor(file);
     
        			extractor.setFormulasNotResults(true);
        			extractor.setIncludeSheetNames(false);
        			String text = (extractor.getText());
     
        			text=text.replaceAll("\n","\r\n");
     
     
        			FileWriter fw=new FileWriter(temp);
        			fw.write(text);
        			fw.close();
     
     
     
        			System.out.println(fichierMatrix.getConfigFichierMatrix().getBaliseExi());
     
     
        			FichierMatrix fichierMatrixdoc = new FichierMatrix(temp, fichierMatrix.getConfigFichierMatrix());
     
        			//fichierMatrixdoc.FichierMatrix(temp, fichierMatrix.getConfigFichierMatrix());
     
     
        			statusBarMatrix.setLabel(fichierMatrixdoc.toString());
        		      if(!ensembleBalisesAmont.ajoutertableau(fichierMatrixdoc))
        		        return false;
        		      statusBarMatrix.incrementeProgressBar();
     
     
        		} catch (FileNotFoundException file) {
        			// Traitement de l'exception :
        			System.out.println("Ce fichier n'existe pas ou ne peux pas \352tre lut !");
     
        		} catch (IOException file) {
        			// Traitement des autres exceptions de lecture :
        			file.printStackTrace();
     
        		} finally {
        			// Fermeture propre du flux :
     
        				try {fis.close();} 
        				catch (IOException e) {}
     
     
        		}
        		temp.delete();
     
        	}

    Pourtant je ferme bien mon FileWriter... enfin je crois????????

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Par défaut
    Hello !

    Si tu peux déjà commencer par mettre plutôt ça dans ton bloc finally :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    finally {
        // fermeture propre des flux :
        if (fw != null) {
            try {fw.close();} 
            catch (IOException e) {}
        }
     
        if (fis != null) {
            try {fis.close();} 
            catch (IOException e) {}
        }
     
        if (!temp.delete())
            System.err.println("impossible de supprimer le fichier :"+temp);
    }

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Par défaut
    je ne compren pas quand je met ceci et que bien sur j'enleve fw.close un peu plus haut dans mon code d'origine, sur la ligne "if (fw != null)" il me dit:
    operator != cannot be applied to fw

    et sur la ligne "try {fw.close();} " il me dit:
    cannot find symbol

    Que dois-je faire. Désoler d'etre trés débutant...

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Par défaut
    Ah oui je t'ai pas dit.

    Du coup il faut que tu déclares : "FileWriter fw = null" avant le try et que tu enlèves le "fw.close" qui est dans le try.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Par défaut
    Désoler pour le retard de la réponse, mais je n'ai accces à internet qu'à certaine heures...

    Le message d'erreur me dit:
    impossible de supprimer le fichier :U:\Testes\Documents entré\TesteExcelAval.xls.txt

    Et mon programme ne fonctionne plus avec cette modification.
    Voila le code(au cas ou je n'ai pas tout compris):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
        		File temp = new File(ensemblePourGeneration.getDestination().getParentFile()+File.separator+fichierMatrix.getName()+".txt");
        		FileInputStream fis = null;
        		FileWriter fw=null;
     
        		try {
        			fis = new FileInputStream(fichierMatrix.getPath());
        			HSSFWorkbook file = new HSSFWorkbook(new POIFSFileSystem(fis));
        			ExcelExtractor extractor = new ExcelExtractor(file);
     
        			extractor.setFormulasNotResults(true);
        			extractor.setIncludeSheetNames(false);
        			String text = (extractor.getText());
     
        			text=text.replaceAll("\n","\r\n");
     
     
        			fw=new FileWriter(temp);
        			fw.write(text);
        			//fw.close();
     
     
     
        			System.out.println(fichierMatrix.getConfigFichierMatrix().getBaliseExi());
     
     
        			FichierMatrix fichierMatrixdoc = new FichierMatrix(temp, fichierMatrix.getConfigFichierMatrix());
     
        			//fichierMatrixdoc.FichierMatrix(temp, fichierMatrix.getConfigFichierMatrix());
     
     
        			statusBarMatrix.setLabel(fichierMatrixdoc.toString());
        		      if(!ensembleBalisesAmont.ajoutertableau(fichierMatrixdoc))
        		        return false;
        		      statusBarMatrix.incrementeProgressBar();
     
     
        		} catch (FileNotFoundException file) {
        			// Traitement de l'exception :
        			System.out.println("Ce fichier n'existe pas ou ne peux pas être lut !");
     
        		} catch (IOException file) {
        			// Traitement des autres exceptions de lecture :
        			file.printStackTrace();
     
        		} finally {
        		    // fermeture propre des flux :
        		    if (fw != null) {
        		        try {fw.close();} 
        		        catch (IOException e) {}
        		    }
     
        		    if (fis != null) {
        		        try {fis.close();} 
        		        catch (IOException e) {}
        		    }
     
        		    if (!temp.delete())
        		        System.err.println("impossible de supprimer le fichier :"+temp);
        		}
        		//temp.delete();
     
        	}
    cela vient peutetre du nom que je donne à mon fichier (.xls.txt)????
    Je vais essayer d'enlever le .xls

    Merci de me proposer d'autre idées si vous en voyez d'autres.

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Par défaut
    Citation Envoyé par charlyfreestyler Voir le message
    mon programme ne fonctionne plus avec cette modification
    Ah bon ?! Comment ça il ne fonctionne plus ! Celà fait exactement la même chose sauf que le flux est fermé un peu plus proprement.

    Citation Envoyé par charlyfreestyler Voir le message
    impossible de supprimer le fichier :U:\Testes\Documents entré\TesteExcelAval.xls.txt
    C'est sur un lecteur réseau windows... aie Tu es sûr au moins que ton fichier existe bien ?

    Essaies d'ajouter ça avant la suppression de ton fichier et de me dire ce que cela donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    System.out.println("le fichier "+temp+" existe = "+temp.exists());
    if (!temp.delete())
    ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [File] Problème de suppression
    Par Extaze dans le forum Général Java
    Réponses: 0
    Dernier message: 06/11/2011, 11h23
  2. [ASE 12.5.3] Problème de suppression de bases, devices effacés du file system
    Par lsone dans le forum Adaptive Server Enterprise
    Réponses: 3
    Dernier message: 12/04/2007, 13h57
  3. Réponses: 3
    Dernier message: 12/04/2007, 13h57
  4. [Excel - VBA] Problème de suppression de lignes...
    Par beholder2 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/01/2005, 17h27
  5. Réponses: 4
    Dernier message: 16/04/2004, 08h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo