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

avec Java Discussion :

Erreur "java.io.FileNotFoundException"


Sujet :

avec Java

  1. #1
    Membre régulier
    Femme Profil pro
    Etudiante
    Inscrit en
    Avril 2012
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Avril 2012
    Messages : 203
    Points : 85
    Points
    85
    Par défaut Erreur "java.io.FileNotFoundException"
    Bonjour,

    la base de données de mon application est sous forme de fichiers .zip
    j'ai créer un code pour dézipper en fichier .txt puis un autre pour insérer les fichiers .txt sous MySQL

    et pour actualiser la base j'ai créé un bouton dont l'action est de faire tout les étapes dézipper---->insérer dans une table MySQL

    le problème c'est que quand je clique sur le bouton ça donne cette erreur ::

    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
     
     
    java.io.FileNotFoundException: C:\Users\Public\Desktop\Extra\NELOG.txt (Le chemin d’accès spécifié est introuvable)
    	at java.io.FileInputStream.open(Native Method)
    	at java.io.FileInputStream.<init>(Unknown Source)
    	at java.io.FileInputStream.<init>(Unknown Source)
    	at java.io.FileReader.<init>(Unknown Source)
    	at bdd.DemogData.parseFile(DemogData.java:37)
    	at bdd.DemogData.<init>(DemogData.java:33)
    	at bdd.EcoutBotton.actionPerformed(EcoutBoutton.java:31)
    	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    	at java.awt.Component.processMouseEvent(Unknown Source)
    	at javax.swing.JComponent.processMouseEvent(Unknown Source)
    	at java.awt.Component.processEvent(Unknown Source)
    	at java.awt.Container.processEvent(Unknown Source)
    	at java.awt.Component.dispatchEventImpl(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Window.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    	at java.awt.EventQueue.access$000(Unknown Source)
    	at java.awt.EventQueue$1.run(Unknown Source)
    	at java.awt.EventQueue$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    	at java.awt.EventQueue$2.run(Unknown Source)
    	at java.awt.EventQueue$2.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    	at bdd.EcoutBotton.actionPerformed(EcoutBoutton.java:43)
    	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    	at java.awt.Component.processMouseEvent(Unknown Source)
    	at javax.swing.JComponent.processMouseEvent(Unknown Source)
    	at java.awt.Component.processEvent(Unknown Source)
    	at java.awt.Container.processEvent(Unknown Source)
    	at java.awt.Component.dispatchEventImpl(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Window.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    	at java.awt.EventQueue.access$000(Unknown Source)
    	at java.awt.EventQueue$1.run(Unknown Source)
    	at java.awt.EventQueue$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    	at java.awt.EventQueue$2.run(Unknown Source)
    	at java.awt.EventQueue$2.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)

    j'ai essayer pas mal de fois de changer le chemin mais ça ne fonctionne pas

    j'ai vraiment besoin de votre aide

    et voilà le code du bouton ::
    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
    64
    65
    66
    67
    package bdd;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.IOException;
     
    import javax.swing.*;
    import bdd.MyZip;
     
    import bdd.DemogData;
     
    class EcoutBotton implements ActionListener
    {
    	JButton invite;
    	Container contenu;
    	JScrollPane dd;
    	Boutton ve;
     
    	public EcoutBotton(Boutton ve,Container contenu)
    	{ 
    		this.contenu =contenu;
    		this.ve = ve;
    	}
     
    	public void actionPerformed(ActionEvent e)
    	{
     
     
    		try {
    			new DemogData("C://Users//Public//Desktop//Extra//NELOG.txt");
    			System.out.print("ok1");
     
    		} catch (IOException ee) {
    			ee.printStackTrace();
    		}
     
    		File zipfolder = new File("/bdd/Extraction/Zip");		// source a decompressé
     
    		File folder = new File("/bdd/Extraction/Text");        // destination
     
     
    		for (File f : zipfolder.listFiles()) {
    		try {
    			MyZip.unzip(f, folder);	
    		 } 
    		catch (FileNotFoundException e1) { e1.printStackTrace();} 
     
    		catch (IOException ee) { ee.printStackTrace(); }
           }
     
     
    		File fold = new File("/bdd/Extraction/Text");
    		for (File f : fold.listFiles()) {
    			System.out.println(f.getPath());
    			try {
    				new InsertToMysql(f.getPath());
    			} catch (IOException e1) {
    				// TODO Auto-generated catch block
    				e1.printStackTrace();
    			}
    	       }
     
     
    }
     
    }
    Merci d'avance

  2. #2
    Membre averti Avatar de Drakiss
    Homme Profil pro
    Consultant MOE
    Inscrit en
    Octobre 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant MOE
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2010
    Messages : 185
    Points : 435
    Points
    435
    Par défaut
    Essaye de passer par un JFileChooser, vu que tu es déjà avec swing, pour le choix du fichier et l'endroit ou le mettre, ça serait plus propre et userFriendly.
    De plus tu pourra vérifier le path...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    JFileChooser fc = new JFileChooser();
    int returnVal = fc.showSaveDialog(null);
    if (returnVal == JFileChooser.APPROVE_OPTION) {
    	File file = fc.getSelectedFile();
    	System.out.println(file.getAbsolutePath());
    Ce qui me sort :

    D:\dossier\mon autre dossier\fichier.extension

    Ah la différence entre les chemins absolus et relatif...

    http://www.developpez.net/forums/d11...bsolu-fichier/

    Ensuite il sera question d'autorisation d'accès fichier sur le C:...

    Edith : Code Tested
    I
    Aussi haut que soit le trône on n'est jamais assis que sur son cul...

  3. #3
    Membre régulier
    Femme Profil pro
    Etudiante
    Inscrit en
    Avril 2012
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Avril 2012
    Messages : 203
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par Drakiss Voir le message
    Essaye de passer par un JFileChooser, vu que tu es déjà avec swing, pour le choix du fichier et l'endroit ou le mettre, ça serait plus propre et userFriendly.
    De plus tu pourra vérifier le path...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    JFileChooser fc = new JFileChooser();
    int returnVal = fc.showSaveDialog(null);
    if (returnVal == JFileChooser.APPROVE_OPTION) {
    	File file = fc.getSelectedFile();
    	System.out.println(file.getAbsolutePath());
    Salut Drakiss peux tu m'expliquer comment je passerai mon fichier par JFileChooser , je suis encore débutante

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Faut pas exagérer, il t'as tout mis là, le code pour afficher le chooser et le code pour en récupérer le fichier, il ne manque rien :/

  5. #5
    Membre régulier
    Femme Profil pro
    Etudiante
    Inscrit en
    Avril 2012
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Etudiante

    Informations forums :
    Inscription : Avril 2012
    Messages : 203
    Points : 85
    Points
    85
    Par défaut
    Salut tchiz

    voilà ce que j'ai essayé
    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    package bdd;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.IOException;
     
    import javax.swing.*;
    import bdd.MyZip;
     
    import bdd.DemogData;
     
    class EcoutBotton implements ActionListener
    {
    	JButton invite;
    	Container contenu;
    	JScrollPane dd;
    	Boutton ve;
     
    	public EcoutBotton(Boutton ve,Container contenu)
    	{ 
    		this.contenu =contenu;
    		this.ve = ve;
    	}
     
    	public void actionPerformed(ActionEvent e)
    	{
     
     
    		try {
    			new DemogData("C:/Users/Public/Desktop/Extra/NELOG.txt");
    			JFileChooser fc = new JFileChooser();
    			int returnVal = fc.showSaveDialog(null);
    			if (returnVal == JFileChooser.APPROVE_OPTION) {
    				File file = fc.getSelectedFile();
    				System.out.println(file.getAbsolutePath());
    			}
     
    		} catch (IOException ee) {
    			ee.printStackTrace();
    		}
     
    		File zipfolder = new File("/bdd/Extraction/Zip");		// source a decompressé
    		File folder = new File("/bdd/Extraction/Text");        // destination
     
    		for (File f : zipfolder.listFiles()) {
    		try {
    			MyZip.unzip(f, folder);	
    		 } 
    		catch (FileNotFoundException e1) { e1.printStackTrace();} 
     
    		catch (IOException ee) { ee.printStackTrace(); }
           }
     
     
    		// inserer plusieur fichier dans la bdd
     
    		File fold = new File("bdd/Extraction/Text");
    		for (File f : fold.listFiles()) {
    			System.out.println(f.getPath());
    			try {
    				InsertToMysql d = new InsertToMysql(f.getPath());
    			} catch (IOException e1) {
    				// TODO Auto-generated catch block
    				e1.printStackTrace();
    			}
    	       }
     
     
    }
     
    }
    et ça declanche la même exception

  6. #6
    Membre averti Avatar de Drakiss
    Homme Profil pro
    Consultant MOE
    Inscrit en
    Octobre 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant MOE
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2010
    Messages : 185
    Points : 435
    Points
    435
    Par défaut
    Citation Envoyé par sihamnet Voir le message
    Salut tchiz

    voilà ce que j'ai essayé
    et ça déclenche la même exception
    public class FileNotFoundException extends IOException :
    Signals that an attempt to open the file denoted by a specified pathname has failed.


    Traduction : erreur déclenché lors de l'essai de l'ouverture d'un fichier...
    Source : JAVADOC !!!

    Tutoriel préconisé : entrée/sortie !

    Car je pense qu'il te manque la compréhension de la class File et de son utilisation...
    En effet le but de mon JFileChooser était que tu utilise le fichier que tu sélectionnait, et non que tu ne l'utilise pas et continue à utiliser ton path...

    Donc remplace ta ligne 43 par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    File zipfolder = file; //file est le fichier récupéré par le chooser...
    Ensuite tu me remet un file chooser qui récupère un fichier File dont le nom peut être "whereToExtract" (et non folder qui veut dire dossier !!!) et tu remplace ta ligne 44 par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    File extractedFile= whereToExtract;
    Tiens d'ailleurs je pense que j'ai mis le doigt sur un autre problème...
    J'espère que ton fichier zippé ne contient qu'un seul fichier, sinon...

    Bon courage, mais être débutant n'empêche pas de lire la doc et des tutos...
    I
    Aussi haut que soit le trône on n'est jamais assis que sur son cul...

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Vu que l'erreur a lieu dans

    new DemogData("C:/Users/Public/Desktop/Extra/NELOG.txt");

    elle a même lieu avant l'utilisation du file chooser.

  8. #8
    Membre averti Avatar de Drakiss
    Homme Profil pro
    Consultant MOE
    Inscrit en
    Octobre 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant MOE
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2010
    Messages : 185
    Points : 435
    Points
    435
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Vu que l'erreur a lieu dans

    new DemogData("C:/Users/Public/Desktop/Extra/NELOG.txt");

    elle a même lieu avant l'utilisation du file chooser.
    Exact, de plus je vois pas à quoi sert cette ligne...
    I
    Aussi haut que soit le trône on n'est jamais assis que sur son cul...

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

Discussions similaires

  1. [MySQL] Supprimer les erreurs de syntaxe dues aux quotes
    Par gotenks dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/01/2006, 16h10

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