文件大小不用这么麻烦。File有一个方法File f.length()可以查出文件大小.
或者你用读出来的byte b.size()也行

解决方案 »

  1.   

    用File对象打开文件,然后用File实例作为FileInputStream的构造函数参数。
    File file=new File(filename);
    FileInputStream input=new FileInputStream(file);
    然后就可以知道文件大小:
    byte[] b=new byte[file.length()];
    input.read(b);
      

  2.   

    /**
       Method Of File Object   
    ---------------------------------------------------------------------------
       canRead()                                         //是否允许读
       canWrite()                                        //是否允许写
       exists()                                          //对象是否存在(文件或目录)
       mkdir()                                           //创建目录
       delete()                                          //删除对象(文件或目录)
       isFile()                                          //是否是文件
       isDirectory()                                     //是否是目录
       getName()                                         //返回名字
       getPath()                                         //返回路径
       isHidden()                                        //是否隐藏属性
       length()                                          //对象大小(byte)
       list()                                            //目录下的对象(文件或对象)
    */
    import java.io.*;
    import java.util.*;
    import java.text.SimpleDateFormat;public class fileTest1
    {
     public static void main( String [ ] args )
     {
        File f1 = new File( "h:\\file\\io\\fileTest1.txt" );
        File f2 = new File( "h:\\file\\io\\fileTest1" );
        String s5 = "1970-01-01";
        String [ ] sArr1 = f2.list( );
        SimpleDateFormat sdf1 = new SimpleDateFormat( "yyyy-MM-dd hh:mm:ss" );
        Calendar cal = Calendar.getInstance( );
        try
        {
          Date myDate = sdf1.parse( s5 );
        }
        catch( Exception e )
        {
           e.printStackTrace( );
        }
        boolean b1 = f1.canRead( );
        boolean b2 = f1.canWrite( );
        boolean b3 = f1.exists( );
        boolean b4 = f2.exists( );
        boolean b5 = f1.isDirectory( );
        boolean b6 = f2.isFile( );
        boolean b7 = f1.isHidden( );
        boolean b8 = f2.isHidden( );
        String s1 = f1.getName( );
        String s2 = f2.getName( );
        String s3 = f1.getPath( );
        String s4 = f2.getPath( );
        long l1 = f1.length( );
        long l2 = f2.length( );
        long l3 = f1.lastModified( );
        cal.setTime( myDate );
        long l4 = cal.getTimeInMillis( ) + l3;
        cal.setTimeInMillis( l4 );
        String s6 = sdf1.format( cal.getTime( ) );
        //f2.mkdir( );
        //f2.delete( );
        //f1.delete( );
        System.out.println( String.valueOf( b1 ) );
        System.out.println( String.valueOf( b2 ) );
        System.out.println( String.valueOf( b3 ) );
        System.out.println( String.valueOf( b4 ) );
        System.out.println( String.valueOf( b5 ) );
        System.out.println( String.valueOf( b6 ) );
        System.out.println( s1 );
        System.out.println( s2 );
        System.out.println( s3 );
        System.out.println( s4 );
        System.out.println( String.valueOf( b7 ) );
        System.out.println( String.valueOf( b8 ) );
        System.out.println( String.valueOf( l1 ) + " bytes" );
        System.out.println( String.valueOf( l2 ) + " bytes" );
        System.out.println( "File Date: " + s6 );
        System.out.println( s5 );
        for( int i = 0; i < sArr1.length; i ++ )
        {
           System.out.println( sArr1[ i ] );
           System.out.println( "" );
        }
        
     }
    }
      

  3.   

    for()
    {
      数组=strb.read();}
      

  4.   

    nanman(南蛮—50万人使用的最强五笔作者) 
    byte[] b=new byte[file.length()];
    这句话不对呀
      

  5.   

    用 fileinputstream.available()可以知道现在还剩多少字节