Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment écrire dans un fichier sur le serveur, depuis une page JSP

1 réponse
Avatar
Jérôme VUIBERT
Bonjour,

Je tente désespéremment de mettre à jour une donnée stockée dans un fichier
JSP.
Pour le lire j'utilise un InputStream, que je ferme une fois la donnée
récupérée.
Pour l'écrire j'utilise un OutputStream, que je flushe avant de fermer, mais
la donnée reste inchangée, sans qu'aucun message d'erreur ne soit remonté.

Pourriez-vous me dire pourquoi ?

Merci d'avance pour votre aide.

Jerome


======================

<%@ page language="java" %>
......
<%@ page import="......." %>
<%
String l_szJalonFileName =
"http://the_server_address/data.xml";
java.net.URL l_fileURL = null;
JAXBContext l_jc = null;
DataClass l_data = null;

// Lecture de l'ancienne valeur
try
{
l_jc = JAXBContext.newInstance("data.jaxb");
Unmarshaller unmarshaller = l_jc.createUnmarshaller();
l_fileURL = new java.net.URL(l_szJalonFileName);
java.net.URLConnection l_connection = l_fileURL.openConnection();
java.io.InputStream l_is = l_connection.getInputStream();
l_data = (DataClass ) unmarshaller.unmarshal(l_is);
l_is.close();
}
catch(Exception e)
{
// -- traitement des erreurs
}

// Mise à jour de la valeur

// Sauvegarde de la nouvelle valeur
try
{
Marshaller marshaller = l_jc.createMarshaller();
java.net.URLConnection l_connection = l_fileURL.openConnection();
l_connection.setDoOutput(true);
java.io.OutputStream l_os = l_connection.getOutputStream();
marshaller.marshal(l_sessionList, l_os);
l_os.flush();
l_os.close();
}
catch(Exception e)
{
// -- traitement des erreurs
}
%>

1 réponse

Avatar
arnaud b35
euh il faudrait peut etre mettre un e.printStackTrace() dans la zone
catch car en cas d'erreur tu ne vois pas si une Exception est levée

Bonjour,

Je tente désespéremment de mettre à jour une donnée stockée dans un fichier
JSP.
Pour le lire j'utilise un InputStream, que je ferme une fois la donnée
récupérée.
Pour l'écrire j'utilise un OutputStream, que je flushe avant de fermer, mais
la donnée reste inchangée, sans qu'aucun message d'erreur ne soit remonté.

Pourriez-vous me dire pourquoi ?

Merci d'avance pour votre aide.

Jerome


===================== >
<%@ page language="java" %>
......
<%@ page import="......." %>
<%
String l_szJalonFileName > "http://the_server_address/data.xml";
java.net.URL l_fileURL = null;
JAXBContext l_jc = null;
DataClass l_data = null;

// Lecture de l'ancienne valeur
try
{
l_jc = JAXBContext.newInstance("data.jaxb");
Unmarshaller unmarshaller = l_jc.createUnmarshaller();
l_fileURL = new java.net.URL(l_szJalonFileName);
java.net.URLConnection l_connection = l_fileURL.openConnection();
java.io.InputStream l_is = l_connection.getInputStream();
l_data = (DataClass ) unmarshaller.unmarshal(l_is);
l_is.close();
}
catch(Exception e)
{
// -- traitement des erreurs
}

// Mise à jour de la valeur

// Sauvegarde de la nouvelle valeur
try
{
Marshaller marshaller = l_jc.createMarshaller();
java.net.URLConnection l_connection = l_fileURL.openConnection();
l_connection.setDoOutput(true);
java.io.OutputStream l_os = l_connection.getOutputStream();
marshaller.marshal(l_sessionList, l_os);
l_os.flush();
l_os.close();
}
catch(Exception e)
{
// -- traitement des erreurs
}
%>