如何使用FilterReader确定char-stream的长度?

时间:2015-04-14 18:43:37

标签: java filestream bufferedreader fileinputstream

简单 - 是否有一种简单的方法可以确定来自文本文件的字符流的长度?

程序打开某个文本文件,然后从扩展FilterReader的对象中读取字符。读取字符的回调函数如下

class:MyFilterReader

@Override
public int read(char cbuf[], int off, int len) throws IOException {

    int i = in.read(cbuf, off, len);

    return i;
}

使用此对象的另一个类

课程:Gui

InputStreamReader iSR = new InputStreamReader(System.in);
FileReader fr = new FileReader(file);
MyFilterReader mFR = new MyFilterReader(fr);
BufferedReader input = new BufferedReader(mFR);

char[] ch = new char[15000];
input.read(ch);
input.close();

for (int i = 0; i < ch.length; i++) {
    if (ch[i] != 0) { 
        System.out.print(ch[i]);
    }
}

总结:我没有问题来阅读characterstream,但我不知道我如何提前确定它的长度,所以我可以将该空间分配给ch-vector(ch)。如您所见,我暂时将大小设置为临时值15000:

0 个答案:

没有答案