java.io.InputStreamReader.read(char[] cbuf, int offset, int length)方法實例
java.io.InputStreamReader.read(char[] cbuf, int offset, int length) 方法讀取字符到一個數組中的一個部分。
聲明
以下是java.io.InputStreamReader.read(char[] cbuf, int offset, int length)方法的聲明:
public int read(char[] cbuf, int offset, int length)
參數
-
cbuf --目標字符緩衝區
-
offset -- 偏移量開始存儲字符的位置
-
length -- 要讀取的字符數上限值
返回值
該方法返回讀取的字符數,否則如果流的末尾已到達返回-1。
異常
-
IOException -- 如果發生I/ O錯誤
例子
下麵的例子顯示java.io.InputStreamReader.read(char[] cbuf, int offset, int length)方法的用法。
package com.yiibai; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; public class InputStreamReaderDemo { public static void main(String[] args) throws IOException { FileInputStream fis = null; InputStreamReader isr =null; char[] cbuf = new char[5]; int i; try { // new input stream reader is created fis = new FileInputStream("C:/test.txt"); isr = new InputStreamReader(fis); // reads into the char buffer i = isr.read(cbuf, 2, 3); // prints the number of characters System.out.println("Number of characters read: "+i); // for each character in the character buffer for(char c:cbuf) { // for empty character if(((int)c)==0) c='-'; // prints the characters System.out.println(c); } } catch (Exception e) { // print error e.printStackTrace(); } finally { // closes the stream and releases resources associated if(fis!=null) fis.close(); if(isr!=null) isr.close(); } } }
假設我們有一個文本文件c:/ test.txt,它具有以下內容。該文件將被用作輸入到我們的示例程序:
ABCDE
讓我們編譯和運行上麵的程序,這將產生以下結果:
Number of characters read: 3 - - A B C