palette[] = new short[fileLength];
--------
不用先定义长度
read得到的数组直接赋值就行了

解决方案 »

  1.   

    定义数组必须指定其大小,这个size是个常数,不能为变量的.
      

  2.   

    我觉得你可以用一个容器类来解决这个问题
    比如:ArrayList list
    然后你用一个整形的外负类Integer(filelength);
    然后再将它加入到list中就可以了!
      

  3.   

    readPalette被调用时,已经被给定了长度了..
      

  4.   

    顺便问一下,fileStream.length到底指的什么?就是文件的大小么?那如果我对流已经做了一些读写操作,那fileStream.length会不会改变,即会不会是剩余流的长度
      

  5.   

    还有,我要从fileStream中读12bit,或其它不规则的长度应该怎么做,用RandomAccessFile的哪个函数