我想问一下:
Supported()在什么情况下返回true?
也就是说
什么样的FileInputStream是支持和reset方法的?
另外,
for(int i = 0; i < fis.availble();i++)
{
     fos.write(fis.read());
}
其中fos,fis分别表示FileOutputStream和FileInputStream的对象
为什么这个循环只执行了fis实际大小的一半呢?

解决方案 »

  1.   

    1)
    BufferedInputStream支持Supported(),你可以用如下的方法打开一个文件:BufferedInputStream in = new BufferedInputStream( new FileInputStream( fileName ) );2)你写的
    for(int i = 0; i < fis.availble();i++)
    {
    fos.write(fis.read());
    }有问题,应该改为:for(;;)
    {
       int ch = fis.read();
       if( ch < 0 ) break;
       fos.write( ch );
    }