logo

Classe Java.io.LineNumberInputStream en Java

La classe java.io.LineNumberInputStream est simplement une extension du flux d'entrée offrant une fonctionnalité supplémentaire pour conserver l'enregistrement du numéro de ligne actuel. 

Doubler est une séquence d'octets se terminant par : 'r' soit un caractère de retour chariot ou un caractère de nouvelle ligne : 'n' ou un caractère de saut de ligne suivant le caractère de retour chariot.

Déclaration :   



public class LineNumberInputStream extends Reader

Constructeurs :   

  LineNumberInputStream(InputStream in) :    Constructs a newline no. stream that reads it's input from the specified Input Stream.

Méthodes :   

Classe LineNumberInputStream' title=

    read() : java.io.LineNumberInputStream.read()lit l'octet suivant de données du flux d'entrée. Il renvoie une valeur entière représentant les octets compris entre « 0 et 255 ». Il renvoie « -1 » pour indiquer la fin du flux d'entrée. 
    Syntaxe : 
public int read()   Parameters :    -------   Return :    int value representing the bytes in the range of '0 - 255'. return -1 indicating end of Input Stream.   Exception:    IOException : in case I/O error occurs

Mise en œuvre :  

Java
// Java program illustrating the working of read() method import java.io.*; public class NewClass {  public static void main(String[] args) throws IOException  {  // LineNumberInputStream & FileInputStream initially null  LineNumberInputStream geekline = null;  FileInputStream geekinput = null;  try{  char c;  int a;  // New InputStream : 'ABC' is created  geekinput = new FileInputStream('ABC.txt');  geekline = new LineNumberInputStream(geekinput);  // read() method returning Bytes of Input Stream as integer  // '-1' indicating to read till end Of Input Stream  while((a = geekline.read()) != -1)  {  // Since read() method returns Integer value  // So we convert each integer value to char  c = (char)a;  System.out.print(c);  }  }  catch(Exception e)  {  // In case of error  e.printStackTrace();  System.out.println('ERROR Occurs ');  }  finally  {  // Closing the streams Once the End of Input Stream is reached  if(geekinput != null)  geekinput.close();  if(geekline != null)  geekline.close();  }  } } 

Note : 
Le code Java suivant ne s'exécutera pas ici car nous ne pouvons accéder à aucun fichier sur l'IDE en ligne. 
Copiez donc le programme sur votre système et exécutez-le là-bas.

Le ABC.txt le fichier utilisé dans le programme contient : 

Hello Geeks. Explaining read() method

Sortir :  

Hello Geeks. Explaining read() method
    getLineNumber() : java.io.LineNumberInputStream.getLineNumber()renvoie le numéro de la ligne actuelle. 
    Syntaxe : 
 public int getLineNumber()   Parameters :    -------   Return :    no. of current line

Mise en œuvre :  

Java
// Java program illustrating the working of getLineNumber() method import java.io.*; public class NewClass {  public static void main(String[] args) throws IOException  {  // LineNumberInputStream & FileInputStream initially null  LineNumberInputStream geekline = null;  FileInputStream geekinput = null;  try  {  char c;  int a b;  // New InputStream : 'ABC' is created  geekinput = new FileInputStream('ABC.txt');  geekline = new LineNumberInputStream(geekinput);  while((a = geekline.read()) != -1)  {  // So we convert each integer value to char  c = (char)a;    // Use of getLineNumber() : to print line no.  a = geekline.getLineNumber();  System.out.println(' At line : ' + a);  System.out.print(c);  }  a = geekline.getLineNumber();  System.out.println(' at line: ' + a);  }  catch(Exception e)  {  // In case of error  e.printStackTrace();  System.out.println('ERROR Occurs ');  }  finally  {  // Closing the streams Once the End of Input Stream is reached  if(geekinput != null)  geekinput.close();   if(geekline != null)  geekline.close();  }  } } 

Note : 
Le code Java suivant ne s'exécutera pas ici car nous ne pouvons accéder à aucun fichier sur l'IDE en ligne. 
Copiez donc le programme sur votre système et exécutez-le là-bas.

Le ABC.txt le fichier utilisé dans le programme contient : 

no. of lines

Sortir :  

 At line : 0 n At line : 0 o At line : 0 . At line : 0 At line : 0 o At line : 0 f At line : 1 At line : 1 l At line : 1 i At line : 1 n At line : 1 e At line : 1 s at line: 1
    disponible() : java.io.LineNumberInputStream.available()renvoie le nombre d'octets pouvant être lus à partir du flux d'entrée sans blocage. 
    Syntaxe : 
public int available()   Parameters :    -------   Return :    returns the no. of bytes that can be read from the Input Stream.   Exception:    IOException : in case I/O error occurs

Mise en œuvre :  

Java
// Java program illustrating the working of available() method import java.io.*; public class NewClass {  public static void main(String[] args) throws IOException  {  // LineNumberInputStream & FileInputStream initially null  LineNumberInputStream geekline = null;  FileInputStream geekinput = null;  try{  char c;  int a b;  // New InputStream : 'ABC' is created  geekinput = new FileInputStream('ABC.txt');  geekline = new LineNumberInputStream(geekinput);  while((a = geekline.read()) != -1)  {  // So we convert each integer value to char  c = (char)a;  // Use of available method : return no. of bytes that can be read  a = geekline.available();  System.out.println(c + ' Bytes available : ' + a);  }  }  catch(Exception e)  {  // In case of error  e.printStackTrace();  System.out.println('ERROR Occurs ');  }  finally  {  // Closing the streams Once the End of Input Stream is reached  if(geekinput != null)  geekinput.close();  if(geekline != null)  geekline.close();  }  } } 

Note : 
Le code Java suivant ne s'exécutera pas ici car nous ne pouvons accéder à aucun fichier sur l'IDE en ligne. 
Copiez donc le programme sur votre système et exécutez-le là-bas.

bash si sinon

Le ABC.txt le fichier utilisé dans le programme contient : 

available

Sortir :  

a Bytes available : 4 v Bytes available : 3 a Bytes available : 3 i Bytes available : 2 l Bytes available : 2 a Bytes available : 1 b Bytes available : 1 l Bytes available : 0 e Bytes available : 0
    setLineNumber() : java.io.LineNumberInputStream.setLineNumber(int arg)attribue un numéro de ligne à l'argument souhaité. 
    Syntaxe : 
public void setLineNumber(int arg)   Parameters :    arg : line number to assign   Return :    void   Exception:    -----

Mise en œuvre :  

Java
// Java program illustrating the working of setLineNumber() method import java.io.*; public class NewClass {  public static void main(String[] args) throws IOException  {  // LineNumberInputStream & FileInputStream initially null  LineNumberInputStream geekline = null;  FileInputStream geekinput = null;  try{  char c;  int a b = 0;  // New InputStream : 'ABC' is created  geekinput = new FileInputStream('ABC.txt');  geekline = new LineNumberInputStream(geekinput);  while((a = geekline.read()) != -1)  {  // So we convert each integer value to char  c = (char)a;    // Use of setLineNumber() : to set the line no.  geekline.setLineNumber(100 + b);  // getLineNumber() : returning the current line no.  a = geekline.getLineNumber();  System.out.println(c + ' Line No. Set : ' + a);  b++;  }  }  catch(Exception e)  {  // In case of error  e.printStackTrace();  System.out.println('ERROR Occurs ');  }  finally  {  // Closing the streams Once the End of Input Stream is reached  if(geekinput != null)  geekinput.close();  if(geekline != null)  geekline.close();  }  } } 

Note : 
Le code Java suivant ne s'exécutera pas ici car nous ne pouvons accéder à aucun fichier sur l'IDE en ligne. 
Copiez donc le programme sur votre système et exécutez-le là-bas.

Le ABC.txt le fichier utilisé dans le programme contient : 

LineNumber

Sortir :  

formateur de chaîne
L Line No. Set : 100 i Line No. Set : 101 n Line No. Set : 102 e Line No. Set : 103 N Line No. Set : 104 u Line No. Set : 105 m Line No. Set : 106 b Line No. Set : 107 e Line No. Set : 108 r Line No. Set : 109
    skip() : java.io.LineNumberInputStream.skip(argument long)ignore et supprime les octets « arg » des données du flux d'entrée. La méthode skip de LineNumberInputStream crée un tableau d'octets, puis y lit à plusieurs reprises jusqu'à ce que n octets aient été lus ou que la fin du flux soit atteinte. 
    Syntaxe : 
public long skip(long arg)   Parameters :    arg : no. of bytes of Input Stream data to skip.   Return :    no. of bytes to be skipped   Exception:    IOException : in case I/O error occurs

Mise en œuvre :  

Java
// Java program illustrating the working of setLineNumber() method import java.io.*; public class NewClass {  public static void main(String[] args) throws IOException  {  // LineNumberInputStream & FileInputStream initially null  LineNumberInputStream geekline = null;  FileInputStream geekinput = null;  try{  char c;  int a b = 0;  // New InputStream : 'ABC' is created  geekinput = new FileInputStream('ABC.txt');  geekline = new LineNumberInputStream(geekinput);  while((a = geekline.read()) != -1)  {  // So we convert each integer value to char  c = (char)a;  // skip() : to skip and discard 'arg' bytes  // Here skip() will skip and discard 3 bytes.  geekline.skip(3);  System.out.println(c);  }  }  catch(Exception e)  {  // In case of error  e.printStackTrace();  System.out.println('ERROR Occurs ');  }  finally{  // Closing the streams Once the End of Input Stream is reached  if(geekinput != null)  geekinput.close();  if(geekline != null)  geekline.close();  }  } } 

Note : 
Le code Java suivant ne s'exécutera pas ici car nous ne pouvons accéder à aucun fichier sur l'IDE en ligne. 
Copiez donc le programme sur votre système et exécutez-le là-bas.

Le ABC.txt le fichier utilisé dans le programme contient : 

Program Explaining Skip() method

Sortir :

P r E a n k ) t
    read() : java.io.LineNumberInputStream.read(byte[] buffer int offset int maxlen)lit jusqu'à 'maxlen' octets du flux d'entrée en octets. 
    Syntaxe : 
public int read(byte[] buffer int offset int maxlen)   Parameters :    buffer : buffer whose data to read offset : starting offset of the data maxlen : max. no. of bytes to read   Return :    total no. of bytes else return -1 if End of Input Stream is identified   Exception:    IOException : in case I/O error occurs

Mise en œuvre :  

Java
// Java program illustrating the working of read() method import java.io.*; public class NewClass {  public static void main(String[] args) throws IOException  {  // LineNumberInputStream & FileInputStream initially null  LineNumberInputStream geekline = null;  FileInputStream geekinput = null;  try{  char c;  int a;  // New InputStream : 'ABC' is created  geekinput = new FileInputStream('ABC.txt');  geekline = new LineNumberInputStream(geekinput);  // read() method returning Bytes of Input Stream as integer  // '-1' indicating to read till end Of Input Stream  while((a=geekline.read())!=-1)  {  // Since read() method returns Integer value  // So we convert each integer value to char  c = (char)a;  System.out.print(c);  }  }  catch(Exception e)  {  // In case of error  e.printStackTrace();  System.out.println('ERROR Occurs ');  }  finally  {  // Closing the streams Once the End of Input Stream is reached  if(geekinput != null)  geekinput.close();  if(geekline != null)  geekline.close();  }  } } 

Note : 
Le code Java suivant ne s'exécutera pas ici car nous ne pouvons accéder à aucun fichier sur l'IDE en ligne. 
Copiez donc le programme sur votre système et exécutez-le là-bas.

Le ABC.txt le fichier utilisé dans le programme contient : 

Read() method

ce que fait la méthode est offset = r et maxlen = 5... donc ---c'est-à-dire 3 décalages puis 5 octets, c'est-à-dire Lire (puis à nouveau décalés donc -- 
Sortir :  

The number of char read: 5 ---Read(--
    mark() : Java.io.LineNumberInputStream.mark(int arg)marque la position actuelle du flux d’entrée. Il définit la limite de lecture, c'est-à-dire le nombre maximum d'octets pouvant être lus avant que la position de la marque ne devienne invalide. 
    Syntaxe :
public void mark(int arg)   Parameters :   arg : integer specifying the read limit of the input Stream   Return :   void
    réinitialiser() : Java.io.LineNumberInputStream.reset()est invoqué par la méthode mark(). Il repositionne le flux d’entrée à la position marquée. 
    Syntaxe :
public void reset()   Parameters :   ----   Return :   void   Exception :   ->   IOException :   If I/O error occurs.

Programme Java expliquant les méthodes de la classe LineNumberInputStream : reset() et mark() 

Java
// Java program illustrating the working of LineNumberInputStream method // mark() and reset() import java.io.*; public class NewClass {  public static void main(String[] args) throws Exception  {  LineNumberInputStream geekline = null;  FileInputStream geek = null;  try{  geek = new FileInputStream('GEEKS.txt');  geekline = new LineNumberInputStream(geek);  // read() method : reading and printing Characters one by one  System.out.println('Char : ' + (char)geekline.read());  System.out.println('Char : ' + (char)geekline.read());  System.out.println('Char : ' + (char)geekline.read());  // mark() : read limiting the 'geek' input stream  geekline.mark(0);  // skip() : it results in reading of 'e' in G'e'eeks  geekline.skip(1);  System.out.println('skip() method comes to play');  System.out.println('mark() method comes to play');  System.out.println('Char : ' + (char)geekline.read());  System.out.println('Char : ' + (char)geekline.read());  System.out.println('Char : ' + (char)geekline.read());  boolean check = geekline.markSupported();  if(geekline.markSupported())  {  // reset() method : repositioning the stream to marked positions.  geekline.reset();  System.out.println('reset() invoked');  System.out.println('Char : ' + (char)geekline.read());  System.out.println('Char : ' + (char)geekline.read());  }  else  {  System.out.println('reset() method not supported.');  }  System.out.println('geekline.markSupported() supported reset() : '   + check);  }  catch(Exception except)  {  // in case of I/O error  except.printStackTrace();  }  finally  {  // releasing the resources back to the GarbageCollector when closes  if(geek != null)  geek.close();  if(geekline != null)  geekline.close();  }  } } 

Note :  
Ce code ne fonctionnera pas sur l'IDE en ligne car aucun fichier de ce type n'est présent ici. 
Vous pouvez exécuter ce code sur votre système pour vérifier le fonctionnement. 

ABC.txt le fichier utilisé dans le code a 

HelloGeeks

Sortir : 

Char : H Char : e Char : l skip() method comes to play mark() method comes to play Char : o Char : G Char : e reset() method not supported. geekline.markSupported() supported reset() : false

 
 

Créer un quiz