考虑以下用于在 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/