logo

JavaのJava.io.LineNumberInputStreamクラス

java.io.LineNumberInputStream クラスは、現在の行番号の記録を保持する追加機能を提供する入力ストリームの単なる拡張です。 

ライン : 'r' で終わる一連のバイトです。つまり、復帰文字または改行文字です。 : 'n' または復帰文字に続く改行文字です。

宣言 :   



public class LineNumberInputStream extends Reader

コンストラクター:   

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

方法:   

Javaのデフォルトパラメータ

LineNumberInputStream クラス' title=

    read() : java.io.LineNumberInputStream.read()入力ストリームからデータの次のバイトを読み取ります。 「0 ~ 255」の範囲のバイトを表す int 値を返します。入力ストリームの終了を示すために「-1」を返します。 
    構文: 
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

実装 :  

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();  }  } } 

注記 : 
オンライン IDE ではファイルにアクセスできないため、次の Java コードはここでは実行されません。 
したがって、プログラムをシステムにコピーして、そこで実行します。

ABC.txt プログラムで使用されるファイルには次のものが含まれます。 

Hello Geeks. Explaining read() method

出力:  

Hello Geeks. Explaining read() method
    getLineNumber() : java.io.LineNumberInputStream.getLineNumber()現在の行の番号を返します。 
    構文: 
 public int getLineNumber()   Parameters :    -------   Return :    no. of current line

実装 :  

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();  }  } } 

注記 : 
オンライン IDE ではファイルにアクセスできないため、次の Java コードはここでは実行されません。 
したがって、プログラムをシステムにコピーして、そこで実行します。

ABC.txt プログラムで使用されるファイルには次のものが含まれます。 

no. of lines

出力:  

 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
    available() : java.io.LineNumberInputStream.available()ブロックせずに入力ストリームから読み取ることができるバイト数を返します。 
    構文: 
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

実装 :  

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();  }  } } 

注記 : 
オンライン IDE ではファイルにアクセスできないため、次の Java コードはここでは実行されません。 
したがって、プログラムをシステムにコピーして、そこで実行します。

ABC.txt プログラムで使用されるファイルには次のものが含まれます。 

available

出力:  

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)必要な引数に行番号を割り当てます。 
    構文: 
public void setLineNumber(int arg)   Parameters :    arg : line number to assign   Return :    void   Exception:    -----

実装 :  

npドット
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();  }  } } 

注記 : 
オンライン IDE ではファイルにアクセスできないため、次の Java コードはここでは実行されません。 
したがって、プログラムをシステムにコピーして、そこで実行します。

ABC.txt プログラムで使用されるファイルには次のものが含まれます。 

LineNumber

出力:  

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(long arg)入力ストリーム データから「arg」バイトをスキップして破棄します。 LineNumberInputStream の Skip メソッドはバイト配列を作成し、n バイトが読み取られるかストリームの終わりに達するまで繰り返しその配列を読み取ります。 
    構文: 
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

実装 :  

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();  }  } } 

注記 : 
オンライン IDE ではファイルにアクセスできないため、次の Java コードはここでは実行されません。 
したがって、プログラムをシステムにコピーして、そこで実行します。

ABC.txt プログラムで使用されるファイルには次のものが含まれます。 

Program Explaining Skip() method

出力:

P r E a n k ) t
    read() : java.io.LineNumberInputStream.read(byte[] バッファ int offset int maxlen)入力ストリームから最大 'maxlen' バイトをバイトに読み取ります。 
    構文: 
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

実装 :  

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();  }  } } 

注記 : 
オンライン IDE ではファイルにアクセスできないため、次の Java コードはここでは実行されません。 
したがって、プログラムをシステムにコピーして、そこで実行します。

ABC.txt プログラムで使用されるファイルには次のものが含まれます。 

Read() method

このメソッドが行うことは offset = r および maxlen = 5 です...つまり ---つまり3 オフセット、次に 5 バイト、つまり Read(、そして再びオフセットなので -- 
出力:  

The number of char read: 5 ---Read(--
    mark() : Java.io.LineNumberInputStream.mark(int arg)入力ストリームの現在位置をマークします。これは、readlimit、つまりマーク位置が無効になる前に読み取ることができる最大バイト数を設定します。 
    構文:
public void mark(int arg)   Parameters :   arg : integer specifying the read limit of the input Stream   Return :   void
    リセット() : Java.io.LineNumberInputStream.reset()mark() メソッドによって呼び出されます。入力ストリームをマークされた位置に再配置します。 
    構文:
public void reset()   Parameters :   ----   Return :   void   Exception :   ->   IOException :   If I/O error occurs.

LineNumberInputStream クラスのメソッドを説明する Java プログラム:reset() および 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();  }  } } 

注記 :  
ここにはそのようなファイルが存在しないため、このコードはオンライン IDE では実行できません。 
システム上でこのコードを実行して、動作を確認できます。 

ABC.txt コードで使用されているファイルには 

完全な形式
HelloGeeks

出力: 

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

 
 

クイズの作成