© 1999-2003, Flemming Koch Jensen
Alle rettigheder forbeholdt
CRC32

 

 

Dette kapitel er pt. udelukkende tænkt som en placeholder for et eksempel på hvordan man kan beregne CRC32 af en file (eller anden data) i Java
Følgende eksempel viser hvordan man kan bruge klassen CRC32 i Java til at beregne CRC32 af en file:
Source 1:
Anvendelse af CRC32-klassen
import java.io.*;
import java.util.zip.CRC32;

public class Main {

  public static String getCRC32( String filename ) {
    try {
      CRC32 crc = new CRC32();
      crc.reset();
      
      DataInputStream input = new DataInputStream( new FileInputStream( filename ) );
      
      byte buffer[] = new byte[ 10000 ]; // vi tager 10KB af gangen
      
      int nBytes = input.read( buffer );
      while ( nBytes > 0 ) {
        crc.update( buffer, 0, nBytes );
        nBytes = input.read( buffer );
      }
      
      return Long.toHexString( crc.getValue() ).toUpperCase();
    }
    catch ( IOException e ) {
      System.out.println( e.getMessage() );
      return null;
    }
  }
  
  public static void main( String argv[] ) {
    System.out.println( getCRC32( "src/Main.java" ) );
  }
}
Kaldet af reset-metoden er ikke strengt nødvendigt, men er medtaget for at gøre opmærksom på dens eksistens. Den gør det muligt at anvende det samme CRC32-objekt til at beregne CRC32 for en række filer, blot man mellemliggende kalder reset-metoden.