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

标签 java android

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

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 循环的每次迭代期间文件指针如何移动到另一个数据 block ? API 文档中没有指定这一点。

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

最佳答案

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

那个while循环本质上是迭代直到文件末尾,当没有字节时,就没有文件。

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

关于java - 我无法理解 Java/Android 的 API 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23568302/

相关文章:

java - 在 View 持有者中使用if else禁用edittext android

android - 构建失败 : Program Type Already Present

java - keyReleased 未执行代码

java - hadoop java上的nosuchmethod错误

java - 跨类使用资源?

java - 在 map java流列表中查找 map

java - lambda 中的控制反转

Android 深层链接到服务?

java - 在 android Activity 中使用外部类

java - 改进代码格式(性能)