我无法理解Java / Android的API文档?

时间:2014-05-09 15:20:53

标签: java android

考虑以下用于在Java / Android中读取文件的代码片段:

FileInputStream fis = openFileInput("myfile.txt");
BufferedInputStream bis = new BufferedInputStream(fis);
StringBuffer b = new StringBuffer();
while (bis.available()!=0) {
    char c = (char) bis.read();
    b.append(c);
}
bis.close();
fis.close();

我在谈论while循环条件下的available()方法。我查看了该方法的API文档,我有以下问题:

  • while循环内部的迭代是如何发生的,即在while循环的每次迭代过程中文件指针如何移动到另一块数据?这未在API文档中指定。

  • 如何确定应该使用哪个类来完成任务?

2 个答案:

答案 0 :(得分:4)

可用方法返回一个int作为对此输入流可以读取(或跳过)的字节数的估计,而不会被下一次调用此输入流的方法阻塞

while loop正在迭代直到文件的末尾,当没有字节时没有文件。

以下是一些文档:http://docs.oracle.com/javase/7/docs/api/java/io/BufferedInputStream.html

答案 1 :(得分:1)

bis.available函数检查文件结尾。在while循环的每次迭代中,当你执行bis.read()时,文件指针会读取一个字符并自动移动到下一个字符。

至于您查询使用哪种方法。只需查看函数所需的参数。你需要完成什么。把它搞清楚并不是很困难。