Java FilterReader read()方法

java.io.FilterReader.read(char[] cbuf, int off, int len) 方法从偏移量off读取长度为len的字符放入数组中。

1 语法

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

2 参数

cbuf:目标缓冲区。

off:开始存储字符的偏移量。

len:要读取的字符数。

3 返回值

此方法返回要读取的字符数,如果到达流的末尾,则返回-1。

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.io.FilterReader.read(char[] cbuf, int off, int len) 方法的例子
 */
import java.io.FilterReader;
import java.io.Reader;
import java.io.StringReader;

public class Demo {
    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

热门文章

优秀文章