Java - DataInputStream

DataInputStream est utilisé dans le contexte de DataOutputStream et peut être utilisé pour lire des primitives.

Voici le constructeur pour créer un InputStream -

InputStream in = new DataInputStream(InputStream in);

Une fois que vous avez l' objet DataInputStream en main, il existe une liste de méthodes d'assistance, qui peuvent être utilisées pour lire le flux ou pour effectuer d'autres opérations sur le flux.

N ° Sr. Méthode et description
1

public final int read(byte[] r, int off, int len)throws IOException

Lit jusqu'à len octets de données du flux d'entrée dans un tableau d'octets. Renvoie le nombre total d'octets lus dans le tampon sinon -1 s'il est en fin de fichier.

2

Public final int read(byte [] b)throws IOException

Lit certains octets du flux d'entrée et stocke dans le tableau d'octets. Renvoie le nombre total d'octets lus dans le tampon sinon -1 s'il est en fin de fichier.

3

(a) public final Boolean readBooolean()throws IOException

(b) public final byte readByte()throws IOException

(c) public final short readShort()throws IOException

(d) public final Int readInt()throws IOException

Ces méthodes liront les octets du InputStream contenu. Renvoie les deux octets suivants de InputStream en tant que type primitif spécifique.

4

public String readLine() throws IOException

Lit la ligne de texte suivante dans le flux d'entrée. Il lit des octets successifs, convertissant chaque octet séparément en un caractère, jusqu'à ce qu'il rencontre un terminateur de ligne ou une fin de fichier; les caractères lus sont ensuite renvoyés sous forme de chaîne.

Exemple

Voici un exemple pour illustrer DataInputStream et DataOutputStream. Cet exemple lit 5 lignes données dans un fichier test.txt et convertit ces lignes en lettres majuscules et enfin les copie dans un autre fichier test1.txt.

import java.io.*;
public class DataInput_Stream {

   public static void main(String args[])throws IOException {

      // writing string to a file encoded as modified UTF-8
      DataOutputStream dataOut = new DataOutputStream(new FileOutputStream("E:\\file.txt"));
      dataOut.writeUTF("hello");

      // Reading data from the same file
      DataInputStream dataIn = new DataInputStream(new FileInputStream("E:\\file.txt"));

      while(dataIn.available()>0) {
         String k = dataIn.readUTF();
         System.out.print(k+" ");
      }
   }
}

Voici l'exemple d'exécution du programme ci-dessus -

Production

hello