首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

■■■关于FileInputStream read函数的有关问题

2012-03-18 
■■■关于FileInputStream read函数的问题以下代码测试通过importjava.io.*publicclassaa{publicstaticvoid

■■■关于FileInputStream read函数的问题
以下代码测试通过

import   java.io.*;
public   class   aa
{
public   static   void   main(String   args[])     throws   IOException
{  
FileInputStream   fp=new   FileInputStream( "cls.bat ");
byte   b[]=new   byte[1000];
int   n=0;
while((fp.read(b,n,1)!=-1)&&n <1000)     //注意此处的b是不加下标的,WHY???
{
System.out.print((char)b[n]);
n++;
}
}
}

我有问题的是这一句:

fp.read(b,n,1)!=-1       //每调用一次read函数就读入一个字节给b,       为什么不是用b[n]?而是直接用b?



[解决办法]
read
public int read(byte[] b,
int off,
int len)
throws IOException从此输入流中将最多 len 个字节的数据读入一个字节数组中。在某些输入可用之前,此方法将阻塞。

覆盖:
类 InputStream 中的 read
参数:
b - 存储读取数据的缓冲区。
off - 数据的起始偏移量。
len - 读取的最大字节数。
返回:
读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
InputStream.read()

热点排行
Bad Request.