Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Ecrire ou lire un booléen dans un fichier

Yakurena, le mardi 28 juin 2005 à 09:01:02
Bonjour,
Je developpe en ce moment des pages JSP afin de créer un site Intranet, et j'ai besoin de stocker dans un fichier une valeur booléene afin d'activer(ou non) une fonctionnalité sur ce site.
J'ai donc réalisé le fichier suivant qui doit permettre d'activer ou désactiver cette fonctionnalité (par un choix dans des boutons radio) :

String catalinaHome = System.getProperty("catalina.base");
File f = new File(catalinaHome + "/webapps/conf/envoi_mail.txt");

if(!f.exists())
{ ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(f));
oos.writeBoolean(false);
oos.close();
}

if(request.getParameter("valid")!=null)
{ FileOutputStream fos = new FileOutputStream(f);
ObjectOutputStream oos = new ObjectOutputStream(fos);
boolean choix = Boolean.valueOf(request.getParameter("choix")).booleanValue();
out.println(choix);
oos.writeBoolean(choix);
oos.close();
out.println("L'envoi automatique d'un mail a bien ete ");
if(choix == true) out.println("active");
else if(choix == false) out.println("desactive");
out.println("<meta http-equiv=\"refresh\" content=\"2;url=Espace.jsp\">");
}

else if(request.getParameter("valid") == null)
{ out.println("<form action='envoiMailAutomatique.jsp'>");
// On récupère d'abord la valeur pour l'instant contenue dans le fichier de sauvegarde
// (Pour cocher un des boutons par défaut)
FileInputStream fis = new FileInputStream(f);
ObjectInputStream ois = new ObjectInputStream(fis);
boolean bool = ois.readBoolean();
ois.close();
out.println(bool);
out.println("Voulez-vous activer ou désactiver l'envoi d'un mail automatique?<BR><BR>");
out.println("<input type='radio' name='choix' value='true'");
if(bool == true) out.println("checked");
out.println("> Activer");
out.println("<input type='radio' name='choix' value='false'");
if(bool == false) out.println("checked");
out.println("> Désactiver");
out.println("<BR><BR><input type='submit' value='Valider' class='edfbutton'>");
out.println("<input type='hidden' name='valid'>");
out.println("</form>");

Mais quand je charge la page,ça me met une erreur de type EOFException (fin de fichier,comme s'il n'y avait rien à lire dans le fichier). C'est bizarre,car si le fichier existe déjà,un booléen y est forcément stocké,et s'il n'existe pas,il est automatiquement crée avec la valeur "false" qui y est inserée par défaut. Je ne comprends donc pas comment il peut ne rien y'avoir à lire.
Si qqn pouvait me donner la source du problème...
Merci d'avance.
Répondre à Yakurena  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
 nico7382, le mardi 28 juin 2005 à 09:48:25
Salut,
Je n'ai pas lu ton code. Mais si tu ecris seulement un booléen, il est possible qu'il prenne les 4 premier octets, alors qu'il n'y a que 1 bit. Un booléen s'écrit sur 1 bit alors que les caractères classique sur beaucoup plus=>EOF

Je pense que en gardant le meme code mais en ecrivant "oui" && "non", cela devrai passer.

Mais si tu veux garder le booléen pour optimiser le code, il doit etre possible de pouvoir lire le fichier en binaire et non en texte.
(en C, la différence est possible)
Répondre à nico7382

Résultats pour Ecrire ou lire un booléen dans un fichier

Lire un fichier windows vista sous XP (Résolu) Bonjour, J'ai reçu une pièce jointe écrite sous vista, moi j'ai XP donc apparemment je peux pas lire le fichier. J'ai également open office, mais pour pouvoir lire le fichier Vista on me demande sélectionner un filtre et je ne sais pas... www.commentcamarche.net/forum/affich-4107965-lire-un-fichier-windows-vista-sous-xp
[MS-Dos] Ecrire dans un fichier texte en batch Pour écrire dans un fichier texte, il suffit d'utiliser une redirection ">" :echo texte_à_ecrire > fichier_de_sortie.txtPour écrire à la fin d'un texte existant (concaténation) :echo "ecriture a la fin du fichier ">> fichier_de_sortie.txt www.commentcamarche.net/faq/sujet-2695-ms-dos-ecrire-dans-un-fichier-texte-en-batch
Lire un fichier texte en java (Résolu) Salut ! je voudrai lire un fichier texte ligne par ligne en java mais je ne sais pas comment faire. Merci d'avance Nathalie www.commentcamarche.net/forum/affich-590149-lire-un-fichier-texte-en-java

Résultats pour Ecrire ou lire un booléen dans un fichier

Comment lire un fichier ligne par ligneComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier... www.commentcamarche.net/faq/sujet-5027-comment-lire-un-fichier-ligne-par-ligne
Lire un fichier en .rbsOn peut rencontrer parfois des fichiers en .rbs, issus d'un enregistrement ou un autre. La solution la plus simple pour lire ces fichiers est tout bêtement de remplacer l'extension .rbs par .mp3 Si vous ne voyez pas l'extension du fichier, faites... www.commentcamarche.net/faq/sujet-11466-lire-un-fichier-en-rbs
Comment ouvrir un fichier PPS (présentation PowerPoint) ?Comment lire un fichier PPS ? Les fichiers PPS sont des diaporamas crées avec le logiciel PowerPoint. Il s'agit simplement de fichiers PPT dont l'extension du nom de fichier a été modifiée en PPS. Il est possible de les ouvrir avec un des logiciels... www.commentcamarche.net/faq/sujet-1272-comment-ouvrir-un-fichier-pps-presentation-powerpoint

Résultats pour Ecrire ou lire un booléen dans un fichier

[C++] lire un fichier texte ligne par ligne (Résolu)Bonjour tout le monde, J'ai recherché quelque temps sur le forum un moyen de lire un fichier ligne par ligne en c++. J'ai trouvé plusieurs façon, mais aucune ne marchant vraiment, ou en tout cas, soit pas de la façon dont je voulais, soit à... www.commentcamarche.net/forum/affich-2485838-c-lire-un-fichier-texte-ligne-par-ligne
Lire les fichiers MOV (Résolu)Bonjour à tous, je fais de petits films avec mon appareil numérique, mais n'arrive pas à les lire sur le PC car c'est des fichiers MOV. Je voudrais savoir comment lire ces fichiers ? Merci de vos réponses www.commentcamarche.net/forum/affich-1915694-lire-les-fichiers-mov
Lire des fichiers word 2007 avec word 2003 (Résolu)Bonjour, j'ai téléchargé microsoft office 2007 beta et j'ai enregistré des fichiers avec. Lorsque cette version d'essaie s'est terminé, je l'ai désinstallé et j'ai mis office 2003 a la place. Comment lire les fichiers... www.commentcamarche.net/forum/affich-2708550-lire-des-fichiers-word-2007-avec-word-2003

Résultats pour Ecrire ou lire un booléen dans un fichier

Fichier ISO (Image ISO)Format ISO Un fichier possédant l'extension .ISO est une image ISO, c'est-à-dire une image d'un disque (CD, DVD ou disque dur) sous forme de fichier, créer avec un logiciel de gravure. Comment lire un fichier ISO ? En l'absence de graveur, il... www.commentcamarche.net/contents/fichier/iso.php3
Fichier BINFormat BIN Les fichiers BIN et CUE sont respectivement : .BIN : une image de CD, c'est-à-dire une copie binaire d'un CD ou d'un DVD sous forme d'un fichier .CUE : informations sur les pistes du disque. Comment lire un fichier BIN ? Les... www.commentcamarche.net/contents/fichier/bin.php3
Fichier MP4Format MP4 Un fichier MP4 est une vidéo compressée prévue pour pouvoir être lue en streaming. Lire un fichier MP4 Pour lire une vidéo au format MP4, il suffit d'utiliser un lecteur multimédia tel que Windows Media Player, ou son équivalent... www.commentcamarche.net/contents/fichier/mp4.php3