java.io.LineNumberInputStream.read(byte[] b, int off, int len)方法實例
java.io.LineNumberInputStream.read(byte[] b, int off, int len) 從這個輸入流中的讀取多達len個字節到字節數組。此方法一直阻塞直到輸入可用。
聲明
以下是java.io.LineNumberInputStream.read(byte[] b, int off, int len) 方法的聲明:
public int read(byte[] b, int off, int len)
參數
-
b -- 到其中的數據被讀出緩衝器中。
-
off -- 該數據的起始偏移量。
-
len -- 讀出的最大字節數。
返回值
該方法返回讀入緩衝區的總字節數,否則如果冇有更多的數據則返回-1。
異常
-
IOException -- 如果發生I/O錯誤
例子
下麵的例子顯示java.io.LineNumberInputStream.read(byte[] b, int off, int len)方法的用法。
package com.yiibai; import java.io.FileInputStream; import java.io.IOException; import java.io.LineNumberInputStream; public class LineNumberInputStreamDemo { public static void main(String[] args) throws IOException { LineNumberInputStream lnis = null; FileInputStream fis =null; byte[] buf = new byte[5]; int i; char c; try{ // create new input stream fis = new FileInputStream("C:/test.txt"); lnis = new LineNumberInputStream(fis); // read bytes to the buffer i=lnis.read(buf, 2, 3); System.out.println("The number of char read: "+i); // for each byte in buffer for(byte b:buf) { // if byte is zero if(b==0) c='-'; else c=(char)b; // print char System.out.print(c); } }catch(Exception e){ // if any error occurs e.printStackTrace(); }finally{ // closes the stream and releases any system resources if(fis!=null) fis.close(); if(lnis!=null) lnis.close(); } } }
假設我們有一個文本文件c:/ test.txt,它具有以下內容。該文件將被用作輸入到我們的示例程序:
ABCDE
讓我們編譯和運行上麵的程序,這將產生以下結果:
The number of char read: 3 --ABC