读取一整个文件(文本文件或者二进制文件)然后经过CRC32校验,输出校验值。
该如何读取文件里面的空格,或者说如何把文件里面的东西全部读下来包括空格、空行。
用文件字节流还是字符流好?
求各位大神指点!输入输出流读文件

解决方案 »

  1.   

    你做CRC校验,就读取字节流就可以了,不要考虑字符。
    你读字符,又不是要对字符做处理。
    读字节流,就是为了计算CRC码。
      

  2.   

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.util.zip.CRC32;
    public class CRC32Test { /**
     * 测试用例
     */
    public static void main(String[] args) throws Exception {
    final String FileName = "D:\\tmp\\log.txt";
    long crc = readCRC32(new File(FileName));
    System.out.println(crc);
    System.out.println(Long.toHexString(crc));
    } public static long readCRC32(File file) throws IOException{
    CRC32 crc = new CRC32();
    byte[] buffer = new byte[4*1024];
    FileInputStream fis = new FileInputStream(file);
    try{
    int len = 0;
    while((len=fis.read(buffer))>0){
    crc.update(buffer, 0, len);
    }
    }finally{
    fis.close();
    }
    return crc.getValue();
    }
    }