ecriture de fichier en jsp

ecriture de fichier en jsp - Java - Programmation

Marsh Posté le 30-08-2006 à 11:31:07    

bonjour a tous,
 
j'ai un probleme concernant l'ecriture de fichier en jsp.
 
j'ai le code suivant qui fonctionne parfaitement dans une classe pour ecrire dans fichier quelquonque en java.
 
try {
   File f = new File("fic.txt" );
       
   FileOutputStream file = new FileOutputStream(f);
   byte[] b = new byte[40];
   b="ceci est un test encore réussi!".getBytes();
   file.write(b);
   file.close();
   
   //out.println("ecriture de fichier" );
  } catch (Exception e) {
 
   System.out.println("Erreur: " + e.toString());
  }
 
 
 
alors je decide d'implementer cela dans mon code jsp:
 
 
 
<%@ page language="java" contentType="text/html" import="java.sql.*" import="java.util.*" import="administration.*" import="java.io.*"%>
 
html>
<head>
 <LINK rel="stylesheet" type="text/css" href="feuille.css">
</head>
<body>
<%
 try {
  File f = new File("./fic.txt" );
   
  FileOutputStream file = new FileOutputStream(f);
  byte[] b = new byte[40];
  b="ceci est un test reussi".getBytes();
  file.write(b);
  file.close();
   
  out.println("ecriture de fichier" ); //j'ai bien ecriture de fichier qui s'affiche, donc le bloc try est execute
 } catch (Exception e) {
 
  System.out.println("Erreur: " + e.toString());
 }
 
%>  
 
 
 
voyez vous quelque chose que j'ai oublie ou mal fait qui empeche l'ecriture de fichier?
 
merci

Reply

Marsh Posté le 30-08-2006 à 11:31:07   

Reply

Marsh Posté le 30-08-2006 à 11:36:00    

cherche ton fichier sur ton disque, il doit trainer dans un répertoire à la con :o
Je vote dans le répertoire bin de ton serveur :o
 
(accessoirement, ta JSP est contraire à toutes les bonnes pratiques de programmation dans ce domaine, mais c'est pas le débat).


Message édité par kadreg le 30-08-2006 à 11:36:25

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 30-08-2006 à 11:50:01    

merci de ta reponse rapide,
je n'ai pas trouve le fichier dans le bin de mon serveur...ni dans les autres repertoires de tomcat ni d'apache :(
 
une suggestion pour cree et ecrire le fichier dans le repertoire courant du site jsp?


Message édité par darkange70 le 30-08-2006 à 11:50:25
Reply

Marsh Posté le 30-08-2006 à 16:59:51    

A tester
 

Code :
  1. String chemin = getServletContext().getRealPath("fic.txt" );
  2. out.println("Tentative d'écriture du fichier : " + chemin + "<br />" );
  3. File f = new File("./fic.txt" );
  4. ...


Message édité par Bidem le 30-08-2006 à 17:01:05
Reply

Marsh Posté le 31-08-2006 à 09:53:58    

merci bidem
 
j'obtiens bien le chemin du repertoire ou je travaille actuellement, mais rien a faire concernant l'ecriture de fichier :(
 
la je ne comprend pas la raison du refu d'ecriture de fichier sans erreur!


Message édité par darkange70 le 31-08-2006 à 09:54:26
Reply

Marsh Posté le 31-08-2006 à 11:01:35    

le fichier , il serait pas écrit chez le client par hasard ?? :??:

Reply

Marsh Posté le 31-08-2006 à 11:03:30    

nicodu95 a écrit :

le fichier , il serait pas écrit chez le client par hasard ?? :??:


 
[:totoz]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 31-08-2006 à 11:14:13    

Dans le catch, fait un out.println plutot qu'un System.out.println
(ou va voir dans les logs de ton serveur : catalina.out si t'es sous Tomcat)

Reply

Marsh Posté le 31-08-2006 à 15:05:09    

j'ai finalement reussi a faire fonctionner l'ecriture, je vous envois ma facon de faire:
 
 
<%!      
public void ecritureFichier(){
  try{                
   
      String fnm  = "test.txt";
   String path = getServletContext().getRealPath("test.txt" );
   
   String login = "t";
   String password = "123";
   String url = "jdbc:oracle:thin:@xxxx1";
   
   
   FileWriter fno = new FileWriter(path);
   BufferedWriter bno = new BufferedWriter(fno);
   bno.write(url + " " + login + " " + password + "\n" );
   bno.close();
   
  } catch (Exception e) {}          
   
 
}

Reply

Marsh Posté le 31-08-2006 à 15:05:57    

ca passe mieux par un filewriter et un bufferedwriter!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed