真奇怪,你的程序居然能编译运行,下面是正确的程序,你比较一下吧,
你的主函数有问题,没有捕捉异常,available()方法把le写倒了。
import java.io.*;class MyFile
{
     public static void main(String[] args)
     {
      try{
     FileInputStream in=new FileInputStream("d:\\pic_org.jpg");
     FileOutputStream out=new FileOutputStream("d:\\pic_out.jpg");

         int length = in.available();
         System.out.println("pic_org.jpg size: "+length);
         
         for(int i=1;i<length;i++)
         {
              out.write(in.read());
          }

          in.close();
          out.close();
           }catch(IOException ioe){ioe.printStackTrace();}
      }
}

解决方案 »

  1.   

    抱歉,其实大概就是这些意思。我是刚刚学java不久的。大概的一些东西也许写错了。主要是由于我在网吧重新打的,并不是在家里上的。但是大概的意思是那样的。能否请各位帮忙解答一下,谢谢~~~~
      

  2.   

    谢谢楼上的。原来由于available()只是获得可用的byte。所以,每次只是取得一半。谢谢啦