Bonjour!
Je d�veloppe un logiciel de v�rification de fichiers en java et pour cela j'utilise une librairie �crite en C (librairie mhash). J'ai donc d�velopp� mon algorithme de calcul de hash en C et l'ai interfac� � mon programme JAVA � travers la JNI. J'ai certes gal�r� mais j'y suis arriv�.
Mon probl�me est que lorsque je lance le logiciel je lance la v�rification du fichier d'origine elle est fausse. Et lorsque que lance la v�rification du fichier apr�s l'avoir copi� cela fait crasher la JVM (SIGSEGV). Le calcul de hash intervient dans deux parties diff�rentes du logiciel.
J'ai donc essay� de d�boguer comme j'ai pu. Et j'ai d�couvert que dans le premier cas pour les fichiers assez grands (>1Go) il ne lit que 2064 octets du fichier alors que mon tampon de lecture est de 1Mo. D'o� un faux calcul du hash.
J'ai donc baiss� la taille de mon tampon de lecture � 2064 octets et tout fonctionne parfaitement dans les deux cas. Mais j'avoue que j'aimerai conserver mon tampon de 1Mo.
Si quelqu'un � une id�e?
Partager