Lecture Ecriture Binaire - Java - Programmation
Marsh Posté le 19-09-2005 à 14:44:04
Il n'y a pas de "true" pour DataOutputStream mais il peut se préciser à la construction du FileOutputStream ( que tu fournit au constrcuteur du DataOutputStream ).
Data*Stream permet de lire/écrire des données de type pimitif java. "char" en fait partie.
Erreur classique en java : confondre le "char" de ascii/c/c++/... ( 1 octet ) avec le char de java ( 2 octets ). A vérifier.
Une trace d'exécution serait bienvenue.
Marsh Posté le 19-09-2005 à 14:52:41
Autres remarques
- après avoir écrit à l'aide de DataOutputStream.writeXXX, tu ne vide pas le tampon ---> Résultats aléatoire garantis !!!!
- Tu ne fermes pas non plus explicitement tes flux ---> meme type de résultats que cité précédemment.
Ca commence à faire beaucoup, je trouve ça limite brouillon, alors un petit effort...
Marsh Posté le 19-09-2005 à 17:30:49
salut
Merci pour ton aide
J'avais effectivement oublié de fermer les flux a chaque fois
Ca marche nikel avec true dans la construction de FileOuputStream.
Cependant j'ai un souci avec mon code plus grave je pense. Ca fait 5 heures que j'ai le crane qui chauffe sans résultats.
Si tu pouvais jeter un coup d'oeil ...
Je t'explique :
Dans ma classe j'ai 5 fonctions (on les appelle fonctions 0 à 4). Pour l'instant je me fiche de la 2ème (parse_vvp1).
Ensuite, je crée ma fonction main. Je crée une nouvelle instance de la classe, et j'appelle les fonctions.
Lorsque j'appelle les fonctions 0, 2, 3 et 4; ça compile et s'exécute sans erreur mis à part le fait que la fonction 4 n'est pas exécuté alors que les 3 premières le sont. J'ai donc essayé de comprendre. J'ai seulement appellé la fonction 4; et là elle s'execute sans probleme. C'est à n'y rien comprendre.
J'ai essayé autre chose: j'ai mis le code de la fonction 4 à la fin de la fonction précédente, et je les appelle toutes sauf la 4 évidemment. Résultat: les fonctions s'executent toutes et la partie du code que j'ai rajoutée ne s'exécute pas....
J'espère que j'ai été assez clair
Voici le code
Code :
|
Encore merci
++
Marsh Posté le 19-09-2005 à 22:11:39
Salut
Probleme réglé.
Si ca t'intéresse: le probleme venait de la ligne 187 de la boucle for
Code :
|
mauvaise implémentation de l'indice j. Il m'arrive d'avoir des lignes avec 2 chiffres ce qui lance une exception....
Je vai poster une autre question. A savoir comment faire pour tester le premier caractère d'une chaine de caractere String.
J'ai un chiffre sous la forme d'un string et je veux savoir s'il commence par un signe "-"???
Merci
Marsh Posté le 20-09-2005 à 09:48:35
Code :
|
Ya un outil fabuleux qui s'appelle javadoc, je te conseil vivement son utilisation lorsque tu te pose des questions concernant les fonctionnalités d'une classe ( cf classe String ).
Marsh Posté le 19-09-2005 à 13:35:05
Il me faut lire les données d'un fichier .txt pour le transformer en un fichier binaire.
J'ai implémenté tout ça et je vous donne un exemple avec mon code.
A chaque fois que je capture un caractère pour le transformer en binaire et que je souhaite ensuite lire le binaire pour vérifier si c'est le bon caractère, il me sort des entiers à 6 chiffres louches
Et puis j'ai lu que la DataInputStream ne permet que de lire les types numériques.
Comment lire les types char ??
Une autre question svp:
Comment écrire dans un fichier avec le DataOutputStream sans écraser ce qu'on a ecrit auparavant.
Je sais qu'avec les bufferedWriter, on ecrit
avec le mot clé true.
Existe-t-il un truc semblable pour DataOutputStream ??
Voici un extrait du fichier .txt avec des entiers, des caractères...
Voici mon code pour lire le fichier .txt
voici mon code pour lire le fichier binaire et ainsi vérifier s'il est bon
c'est pas très beau ....
Merci beaucoup pour votre aide