2015-10-05 47 views
0

我不明白read方法是如何工作的。为什么我需要字节数组作为方法的参数?FileInputStream类的方法read(byte [] b)如何工作?

我很抱歉,如果这是明显的,但我是新手到Java。

+0

byte [] b是您读取的字节结束的地方,metod返回您读取的字节数。 –

+0

这是一个很好的做法,总是检查官方Java文档,然后才问问题[FileInputStream](http://docs.oracle.com/javase/7/docs/api/java/io/FileInputStream.html) –

+0

这是包装一个标准的系统调用。大多数语言都有这样的方法。你有没有考虑过替代方案,为什么你不这么做? –

回答

0

有几种超载read方法在那里。如果你只是想读取输入流,你可以使用read()。但是,如果您想在读取输入流后存储数据,则应使用read(byte[] b)。数据将被存储在该阵列

REF IN:http://docs.oracle.com/javase/7/docs/api/java/io/FileInputStream.html

+0

所以如果我明白你说的方法read(byte [] b)从输入流中读取数据,然后将它们放到一个字节数组中。但是我不会在这个方法中首先将数据放入数组中,然后读取它们或先读取它们,然后将它们放入数组中。 – jimao

0

作为每javadocs,它从输入流中读取bytes并将其用于byte[]高达所述byte[]的长度。如果输入流中剩余的字节小于byte[]的长度,则只有剩余的字节将被添加到byte[]byte[]中的其余值不会被修改,并保持原来的状态。

相关问题