Question

Je suis étudiant en Java sur mon propre. L'un des exercices est le suivant, mais je ne comprends pas vraiment ce qu'il demande à tous les gourous .... java intelligents là-bas qui pourrait expliquer cela plus en détail et des mots simples? Merci

Supposons que vous avez un fichier binaire qui contient les numéros Whos type est soit int ou double. Vous ne connaissez pas l'ordre des numéros dans le fichier, mais leur commande est enregistrée dans une chaîne au début du fichier. La chaîne se compose des lettres i pour int, et d pour le double, dans l'ordre des types des numéros suivants. La chaîne est écrite en utilisant la méthode writeUTF.

Par exemple, la chaîne « iddiiddd » indique que le fichier contient huit valeurs, comme suit:. Un entier, suivi de deux doubles, suivi de deux entiers, suivi par trois doubles

Lire ce fichier binaire et créer un nouveau fichier texte des valeurs écrites une à une ligne.

Était-ce utile?

La solution

writeUTF est une méthode sur DataOutputStream, et vous pouvez lire dans les données correspondantes en utilisant la méthode readUTF sur DataInputStream. Par conséquent, les étapes à la lecture du fichier binaire sont:

  • Ouvrez un nouveau DataInputStream
  • Lire dans la chaîne en utilisant readUTF
  • Boucle à travers les caractères de la chaîne un à la fois.
  • Si le personnage est un 'i', l'utilisation readInt() à lire dans un int.
  • Si le personnage est un 'd', l'utilisation readDouble() lire dans le double.
  • Fermez le DataInputStream.

Vous devrez également écrire ces vers un fichier texte, pour lequel vous pouvez utiliser un FileWriter.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top