begin process at 2010 02 10 14:21:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Aide et documentation

 > 

Java problème de lire fichier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Java problème de lire fichier

lundi 16 juin 2008 à 13:23:59 | Java problème de lire fichier

kiosa

Bonjour,
Je voudrais demander une aide sur l'ecriture/lecture dans un fichier ou la sérialisation
En fait j'ai eu une erreur dont je ne trouve pas de solution: l'erreur est ici:

java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at elt_segment.carte.main(carte.java:212)

Et la partie où se fait la sérialisation:

try{
//ObjectOutputStream ecrire =new ObjectOutputStream (new FileOutputStream ("C:/Users/boulanger/Documents/fichier_carte.ser"));
String monFichier = "c:/chemin.txt";//Fichier qui contient les donées des capteurs via simulateur
RandomAccessFile raf = new RandomAccessFile(monFichier, "r");
String ligne=raf.readLine();//première ligne non considérée
ligne=raf.readLine();//Deuxième ligne non considérée
//ligne=raf.readLine();//On la traite
String lu;
try{
ObjectOutputStream ecrire =new ObjectOutputStream (new FileOutputStream ("C:/Users/boulanger/Documents/fichier_carte.dat"));
System.out.println("La carte a été lancé");
while(((lu=raf.readLine()))!=null){
String S_lue;
//lue=lu;
//////////////////////////////une ligne
p=tr.traite(lu);
double et=p.getetat();
String di=p.getDirection();
double dis=p.getDistance();
String cmp=p.getComportement();
double dirproc=tr.element(tr.tab_elt(lu),2);
double directionlue=tr.element(tr.tab_elt(lu),2);
double Etemp = et;
int j=0;
comp=(int)(tr.element(tr.tab_elt(lu),7));//comportement
///////////////////////////////une ligne
S_lue=raf.readLine();//la ligne suivante
p1=tr.traite(S_lue);
et=p1.getetat();//sauvegarde etat
//double dist=p1.getDistance();
//dis = dis + dist;
String d=p1.getDirection();
comp=(int)(tr.element(tr.tab_elt(S_lue),7));
//dirlu = prendreDirection(lu);
//dirproc=tr.element(tr.tab_elt(S_lue),2);//garder dir de la ligne lue
if(Etemp == et){

//String dirlu=raf.readLine();//passer à la suivante

if(!d.equals(di)){// penser à vérifier si ce n'est pas évitement d'obstacle
double lc =tr.element(tr.tab_elt(S_lue),7);
if(lc == tr.getevobst()){
lu=raf.readLine();
}
else{ // suppose un vrai chgt d'etat du au chgt de direction
//augmenter la distance
double dist=p1.getDistance();
dis = dis + dist;
// déterminer la relation topologique par rapport au sgt suivant
directionlue = tr.element(tr.tab_elt(S_lue),2);
p.setTOPO(directionlue, dirproc, j);
int comport=(int)(tr.element(tr.tab_elt(lu),7));
// incrémente le nombre de segments utile srt pr rel_topologique
p.setNumSeg();
//***********************************NEW******************************
p.setEtat(et);
p.setDirection(d);
p.setdistance(dis);
p.setcomportement(tr.lire_comportement(comport));
if(p!=null){
p.setNumSeg();
}
ca.ajoutesegment(p);
ca.ajoutesegment(new segment(2,"D22",5,"eo",2));
//ca.affiche();
//try{
//ObjectOutputStream ecrire =new ObjectOutputStream (new FileOutputStream ("C:/Users/boulanger/Documents/fichier_carte.dat"));
ecrire.writeObject (ca);
ecrire.flush();
ecrire.close ();
//}
//catch(IOException e){
//e.printStackTrace();
//}
//**********************//
//System.out.println("La carte a été lancé");

}//Fin else
}//fin if dir diff
}//Fin if mm etat
//////////////////////////////////////////////////
//try {
//ObjectOutputStream ecrire =new ObjectOutputStream (new FileOutputStream ("C:/Users/boulanger/Documents/fichier_carte.dat"));
//ecrire.writeObject (ca);
//ecrire.flush();
//ecrire.close ();
//::::::::::::::Fin ecriture-Début lecture fichier::::::::::::::::::::::
////FileInputStream ecrire1 = new FileInputStream("C:/Users/boulanger/Documents/fichier_carte.ser");
////ObjectInputStream ois = new ObjectInputStream(ecrire1);
////calect=(carte)ois.readObject();
////System.out.println("carte : ");
////System.out.println("carte : " + calect.liste_segment.size()+"\nLe nombre de sgt : \t"+ calect.Nseg());
////calect.affiche();i++;System.out.println("carte : "+ i);
//System.out.println("carte : ");
////ois.close();
////ecrire1.close();
/////////////////////////////////////////////////
di=d;
Etemp=et;
} //Fin while
FileInputStream ecrire1 = new FileInputStream("C:/Users/boulanger/Documents/fichier_carte.dat");
ObjectInputStream ois = new ObjectInputStream(ecrire1);
calect=(carte)ois.readObject();
System.out.println("carte : ");
//System.out.println("carte : " + calect.liste_segment.size()+"\nLe nombre de sgt : \t"+ calect.Nseg());
calect.affiche();i++;System.out.println("carte : "+ i);
//System.out.println("carte : ");
ois.close();
ecrire1.close();
} ////try de while
catch (java.io.IOException e) {
e.printStackTrace();
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}

Si quelqu'un a une proposition prière de me venir en aide.Merci


Cette discussion est classée dans : fichier, ecrire, carte, tr, lu


Répondre à ce message

Sujets en rapport avec ce message

Creer / Ecrire ds un fichiers [ par Archeon ] Bonjour,Je débute dans le JAVA, et j'essai de creer et d'ecrire dans un fichier au sein d'un Applet.Et cela ne fonctionne pas...Si j'essai dans une ap Ecrire un fichier PostScript a partir Image 2D JAV [ par ericjava ] Salut ,Je suis nouveau sur le forum. Gros souci dans le cadre de mon job. Merci par avance de m'aider.Je fais du JAVA 2D, j'ai donc une image bufferis ecrire des octets a une certaine place dans un fichier [ par nesk01 ] voila j'ai 128 octets que je voudrais ecrire a la fin d'un fichier existant... est ce kil exise une methode d'ecrire au dessus de donnees existante da ecrire et lire un fichier [ par emubusta ] salut à tous je suis debutant en java et j'aimerai savoir comment faire pour ecrire dans un fichier des données (ArrayList) et les lire . au fait j'a Ecrire dans un fichier à partir d'un applet [ par Nicolas79 ] Voilà, je suis en train de mettre au point un compteur en Java. J'ai donc un fichier qui stock le nombre de visiteurs.Mon applet veut bien lire le con lecture/ecriture dans fichier, question simple [ par anneli ] bonjour, je cherche a ecrire dans un fichier texte exterieur le resultat de mes programmes. si par exemple j'avais dans mon programme la commande Syst pb pour ecrire de nombreux caracteres dans un fichier [ par keorn ] Bonjour,j'ai le probleme surprenant suivant :je fais une boucle for, et a chaque fois, j'ecris dans un fichier (toujours le meme). Si cette boucle for Ecrire dans un fichier sans effacer le contenu [ par indo__ ] Bonjour, je n'arrive pas a à trouver comment écrire dans un fichier sans effacer le contenu de ce dernier, existe t-il une methode permettant d'écrire Ecrire dans un fichier texte [ par copsblondin ] Bonjour,Je souhaite écrire dans un fichier plusieurs ligne ms a chaque fois que j'exécute le programme, la ligne ajoutée écrase tous le reste.En algo, lire et ecrire une ligne dans un fichier [ par nadddd ] salut a tousen faite, je dois ecrire des lignes dans un fichier et pouvoir les lire par apresj'aimerais utiliser que des string, c'est a dire, ecrire


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales