logo

Јава.ио.ЛинеНумберРеадер класа у Јави

Пуферовани ток уноса знакова који прати бројеве редова. Ова класа дефинише методе сетЛинеНумбер(инт) и гетЛинеНумбер() за подешавање и добијање броја тренутне линије респективно.
  • Подразумевано нумерисање линија почиње од 0. Овај број се повећава на сваком терминатору линије како се подаци читају и може се променити позивом на сетЛинеНумбер(инт).
  • Међутим, имајте на уму да сетЛинеНумбер(инт) заправо не мења тренутну позицију у току; мења само вредност коју ће вратити гетЛинеНумбер().
  • Сматра се да је ред прекинут било којим од померања реда ('н'), повратка прелаза ('р') или повратка прелаза након чега одмах следи померање реда.
Конструктори:
    ЛинеНумберРеадер(Реадер ин) :Креирајте нови читач за нумерисање редова користећи подразумевану величину улазног бафера. ЛинеНумберРеадер(Читач у инт сз) :Креирајте нови читач за нумерисање редова који чита знакове у баферу дате величине.
Методе:
    инт гетЛинеНумбер() : Get the current line number.
      Syntax :  public int getLineNumber()   Returns:   The current line number
    воид марк(инт реадАхеадЛимит) : Mark the present position in the stream.Subsequent calls to reset() will attempt to reposition the stream to this point and will also reset the line number appropriately.
      Syntax :  public void mark(int readAheadLimit) throws IOException   Parameters:   readAheadLimit - Limit on the number of characters that may be read while still preserving the mark. After reading this many characters attempting to reset the stream may fail.   Throws:   IOException
    инт реад(): Read a single character.Line terminators are compressed into single newline ('n') characters. Whenever a line terminator is read the current line number is incremented.
      Syntax :  public int read() throws IOException   Returns:   The character read or -1 if the end of the stream has been reached   Throws:   IOException
    инт реад(цхар[] цбуф инт офф инт лен) : Read characters into a portion of an array.Whenever a line terminator is read the current line number is incremented.
      Syntax :  public int read(char[] cbuf int off int len) throws IOException   Parameters:   cbuf - Destination buffer off - Offset at which to start storing characters len - Maximum number of characters to read   Returns:   The number of bytes read or -1 if the end of the stream has already been reached Throws: IOException
    Стринг реадЛине() : Read a line of text.Whenever a line terminator is read the current line number is incremented.
      Syntax :  public String readLine() throws IOException   Returns:   A String containing the contents of the line not including any line termination characters or null if the end of the stream has been reached   Throws:   IOException
    воид ресет() : Reset the stream to the most recent mark.
      Syntax :  public void reset() throws IOException   Throws:   IOException
    воид сетЛинеНумбер(инт линеНумбер) : Set the current line number.
      Syntax :  public void setLineNumber(int lineNumber)   Parameters:   lineNumber - An int specifying the line number
    дуго прескочи (дуго н) : Skip characters.
      Syntax :  public long skip(long n) throws IOException   Parameters:   n - The number of characters to skip   Returns:   The number of characters actually skipped   Throws:   IOException IllegalArgumentException
Програм: Java
//Java program demonstrating LineNumberReader methods import java.io.FileReader; import java.io.IOException; import java.io.LineNumberReader; class LineNumberReaderDemo {  public static void main(String[] args) throws IOException   {  FileReader fr = new FileReader('file.txt');  LineNumberReader lnr = new LineNumberReader(fr);  char c[] = new char[20];  //illustrating setLineNumber()  lnr.setLineNumber(0);    //illustrating set  System.out.println(lnr.getLineNumber());    //illustrating markSupported() method  if(lnr.markSupported())  {  System.out.println('mark() method is supported');  //illustrating mark method  lnr.mark(100);  }    /*File Contents  * This is first line  this is second line  This is third line  */    //skipping 19 characters  lnr.skip(19);  //illustrating ready() method  if(lnr.ready())  {  //illustrating readLine() method  System.out.println(lnr.readLine());  //illustrating read(char c[]int offint len)  lnr.read(c);  for (int i = 0; i <20 ; i++)  {  System.out.print(c[i]);  }    //illustrating reset() method  lnr.reset();    for (int i = 0; i <18 ; i++)  {  //illustrating read() method  System.out.print((char)lnr.read());  }  int ch;    //illustrating read() method  System.out.println(lnr.readLine());  while((ch = lnr.read())==1)  System.out.print((char)ch);  }    //close the stream  lnr.close();  } } 
Излаз :
0 mark() method is supported this is second line This is third line This is first line
Креирај квиз