问答详情
源自:4-2 字节流之文件输入流FileInputStream-2

为什么不设定一个数组大小刚好的来读取文件呢?

File file=new File("imooc\\a.txt");
FileInputStream in=new FileInputStream(file);
byte[] byteArray=new byte[(int)file.length];
in.read(byteArray);
for(byte b:byteArray){
    if(b>=0&&b<=0xf){
        System.out.print("0");
    }
    System.out.print(Integer.toHexString(b&0xff)+"  ");
}

问一下 为什么不直接获取文件的长度来 创建byte数组?

提问者:lucitas 2016-03-15 17:04

个回答

  • IcebergLee
    2016-03-15 19:14:17
    已采纳

    如果所处理的文件是个特别大的文件,那么这个字节数组就会太大了,多浪费内存!!整不好还能死机!!!