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

Servlets/JSP Java Discussion :

java.io.FileNotFoundException:(no such file or directory)


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 54
    Par défaut java.io.FileNotFoundException:(no such file or directory)
    bonjour, à tous

    j'ai un petit problème dont je n'arrive pas à résoudre.
    je suis sur une application client /serveur (jsp/servlet).
    Mon serveur d'application est JBOSS.
    j'aimerai charger un fichier et le lire.

    le pb est le suivant quand j suis sur mon ordinateur tout marche bien, toutefois si je me met sur un autre ordi il me renvoie un type d'erreur qui est la suivante!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    java.io.FileNotFoundException: C:\Documents and Settings\jean-ch esposito\My Documents\workspace\WAM\WebContent\display\TESTLOAD.txt (No such file or directory)
    	java.io.FileInputStream.open(Native Method)
    	java.io.FileInputStream.<init>(FileInputStream.java:106)
    	java.io.FileInputStream.<init>(FileInputStream.java:66)
    	java.io.FileReader.<init>(FileReader.java:41)
    	com.st.wam.ListReadFile.doPost(ListReadFile.java:68)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    code jsp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <form action="../ListeReadFile" method="post" name="form1">	
    <table cellpadding ="1" cellspacing ="1" id="TABLE3">
    <tr> 
    <td><input type="file" name='fichier' id="fichier" ></td>
    <td><input type="submit" value="Save" name="fichier"/></td>
    </tr>
    </table>
    </form>
    code servlet :
    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
     
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    	throws ServletException, IOException 
    	{
    		/***************function to read file***********************/
     
    		// We are going to read a file called configuration.properties. This
    		// file is placed under the WEB-INF directory.
     
    		String requete_load="";
    		String fichier = req.getParameter("fichier"); //fichier = chemin + nom fichier
    		String ligne = "";
    		File file = new File(fichier).getAbsoluteFile();
    		System.out.println("file:" + file);
    		String fileName = file.getName();
     
    		FileInputStream fis = new FileInputStream(fichier);
     
    resp.setContentType("text/html");
     
    		DataSource dataSource = null;		
    		try 
    		{
    			System.out.println("Test1:");
    			dataSource = (DataSource)new InitialContext().lookup("java:jdbc/XXXX");
    		}
    		catch (NamingException e)
    		{
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		if (dataSource != null)
    		{
    			Connection connection;
    			try 
    			{
    				// Connection to datasource
    				connection = dataSource.getConnection();
     
    				// Query statement setting
    				Statement statement = connection.createStatement();
     
    				BufferedReader reader = new BufferedReader(new InputStreamReader(fis));
     
    				//BufferedReader reader = new BufferedReader(new FileReader(new File(fichier)));
     
    				System.out.println("Path_fichier:" + fichier);
    				System.out.println("Nomfichier:" + fileName);
    				if (fileName != null) 
    				{								
     
    					PrintWriter writer = resp.getWriter();
     
    					// We read the file line by line and later will be displayed on the browser page. 
    					while ((ligne = reader.readLine()) != null) 
    					{
    						writer.println(ligne);
    						String num_action = req.getParameter("num_action");
    						requete_load = " INSERT INTO MaTable (num_action,Y)"
    					    + " VALUES ('"+num_action+"','"+ligne+"')";
     
    						System.out.println("requete_load: "+ requete_load );
    						System.out.println("requete_load num_action: "+ num_action );
    						statement.executeUpdate(requete_load);
    					}
    					reader.close();
    				}
    				else
    				{
    					System.out.println("pas de traitement");
    				}
    				connection.close();
    			}
    			catch (SQLException e) 
    			{
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		req.getRequestDispatcher("./display/maPage.jsp").forward(req, resp);
    	}
    si vous pouvez m'aiguiller car j'ai cherché sur pas mal de forum et je ne comprend toujours pas d'ou cela vien!!!

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Quand tu dis sur un autre ordinateur, ca veut dire quoi ? que tu testes ton application depuis un autre ordinateur, ou tu déploies l'application sur un ordinateur et tu testes?

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 54
    Par défaut
    dans les deux cas de figure que tu propose ne marchent pas,

    - Test application depuis un autre ordinateur
    - Déploiement de l'application sur un ordinateur et tu testes

  4. #4
    Membre expérimenté Avatar de welcome_59
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 203
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.io.FileNotFoundException: C:\Documents and Settings\jean-ch esposito\My Documents\workspace\WAM\WebContent\display\TESTLOAD.txt (No such file or directory)
    Le texte de l'exception me semble clair, le fichier n'a pas été trouvé à l'emplacement où il a été demandé de le chercher.

    Je me risquerais à avancer que sur ton poste de travail, le fichier C:\Documents and Settings\jean-ch esposito\My Documents\workspace\WAM\WebContent\display\TESTLOAD.txt existe probablement, mais que sur le serveur pas. Une recherche toute bête peut t'aider à t'en rendre compte.

    A partir du moment où tu déploies ton application sur un serveur les chemins spécifiés seront calculés par rapport au serveur et non à ton poste de dev => je te conseillerais, surtout pour des applications distribuées, de travailler avec des chemins relatifs qui seraient calculés par rapport à l'emplacement d'exécution de ton application.

    La solution "facile" : recrée le même emplacement de fichier sur ton serveur et ta servlet devrait le trouver ou alors change la manière dont tu accèdes au fichier (chemin absolu -> chemin relatif) et copie le fichier au bon emplacement sur le serveur.

  5. #5
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 54
    Par défaut
    ok merci pour ta réponse.
    et peux tu m'indiquer et expliquer si c'est possible comment faire soit :
    A partir du moment où tu déploies ton application sur un serveur les chemins spécifiés seront calculés par rapport au serveur et non à ton poste de dev => je te conseillerais, surtout pour des applications distribuées, de travailler avec des chemins relatifs qui seraient calculés par rapport à l'emplacement d'exécution de ton application.
    ou

    La solution "facile" : recrée le même emplacement de fichier sur ton serveur et ta servlet devrait le trouver ou alors change la manière dont tu accèdes au fichier (chemin absolu -> chemin relatif) et copie le fichier au bon emplacement sur le serveur.

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/03/2015, 18h38
  2. list : no such file or directory :(
    Par Bakura dans le forum C++
    Réponses: 23
    Dernier message: 13/06/2006, 16h30
  3. Réponses: 7
    Dernier message: 26/04/2006, 09h56
  4. Réponses: 3
    Dernier message: 16/01/2006, 18h24
  5. Réponses: 1
    Dernier message: 04/10/2005, 20h01

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