Salut,
j'essaie de lire un fichier binaire composé de string et float. Mon problème est que je n'arrive pas à le lire entièrement, car je gère mal la fin de fichier.
Voici ma classe pour parser un fichier binaire :
public class parserBin {
private String filePath;
private DataInputStream reader;
public parserBin(String _filePath)
{
filePath = _filePath;
try
{
reader = new DataInputStream(new BufferedInputStream(new FileInputStream(filePath)));
}
catch (IOException e){System.out.println("erreur reader fichier binaire " + e.getMessage());}
}
public void readAll()
{
String luUTF = "";
float luFloat;
try
{
luUTF = reader.readUTF();
System.out.println(luUTF );
while(luUTF .length()!=0)
{
luUTF =reader.readUTF();
System.out.println(luUTF );
for(int i =0; i <23; i++)
{
luFloat=reader.readFloat();
System.out.println(luFloat);
}
luUTF = reader.readUTF();
System.out.println(luUTF );
}
}
catch (IOException e){System.out.println("erreur reader 2 fichier binaire " + e.getMessage());}
}
}
la méthode readAll permet de lire un fichier binaire dans sa totalité. Bref j'aimerai une autre méthode pour lire le fichier jusqu"à la fin, actuellement il me manque la dernière ligne je crois. L'erreur par le catch donne "null".
J'ai essayé de gérer avec EOFExecption, mais c le meme problème. La chose à modifier doit être while(luUTF .length()!=0) je pense.
Merci d'avance pour votre aide.