位置:首頁 > Java技術 > Java.io包 > java.io.FilterReader.read(char[] cbuf, int off, int len)方法實例

java.io.FilterReader.read(char[] cbuf, int off, int len)方法實例

java.io.FilterReader.read(char[] cbuf, int off, int len) 方法從偏移量off讀取長度為len的字符放入數組中。

聲明

以下是java.io.FilterReader.read(char[] cbuf, int off, int len) 方法的聲明:

public int read(char[] cbuf, int off, int len)

參數

  • cbuf -- 目標緩衝區

  • off -- 偏移量開始存儲字符。

  • len -- 要讀取的字符數

返回值

此方法返回的字符數讀取,或如果已到達流的末尾返回-1。

異常

  • IOException -- 如果發生I/ O錯誤。

例子

下麵的例子顯示java.io.FilterReader.read(char[] cbuf, int off, int len)方法的用法。

package com.yiibai;

import java.io.FilterReader;
import java.io.Reader;
import java.io.StringReader;

public class FilterReaderDemo {
   public static void main(String[] args) throws Exception {
      
      FilterReader fr = null;
      Reader r = null;
      char[] cbuf = new char[6];
      int i=0;
      
      try{
         // create new reader
         r = new StringReader("ABCDEF");
          
         // create new filter reader
         fr = new FilterReader(r) {
         };
         
         // read data of len 4, to the buffer
         i = fr.read(cbuf, 2, 4);
         System.out.println("No. of characters read: "+i);
         
         // read till the end of the char buffer
         for(char c:cbuf)
         {
            // checks for the empty character in buffer
            if((byte)c==0)
               c='-';
            
            // prints
            System.out.print(c);
         }
      }catch(Exception e){
         
         // if any I/O error occurs
         e.printStackTrace();
      }finally{
         
         // releases system resources associated with this stream
         if(r!=null)
            r.close();
         if(fr!=null)
            fr.close();
      }
   }
}

讓我們編譯和運行上麵的程序,這將產生以下結果:

No. of characters read: 4
--ABCD