i'm creating the md5 hash generator. i first test it with an original file, then i altered the file to see whether the md5 hash codes is changed or not. the hash code did not change even after i altered the same file. what is the problem?
public class MD5CheckSum {
public byte [] createChecksum (String filename) throws Exception {
    InputStream fis = new FileInputStream(filename);
    byte[] buffer = new byte[1024];
    MessageDigest complete = MessageDigest.getInstance("MD5");
    int numRead;
    do {
        numRead = fis.read(buffer);
        if (numRead > 0){
            complete.update(buffer,0,numRead);
        }
    }while (numRead !=1);
    fis.close();
    return complete.digest();
}
public String getMD5Checksum(String filename) throws Exception {
    /*byte[] b = createChecksum(filename);
    String result = "";
    for (int i=0; i < b.length; i++){
        result += Integer.toString(( b[i] & 0xff) + 0x100, 16).substring( 1 );
    }
    return result;*/
    MessageDigest md = MessageDigest.getInstance("MD5");
    byte[] messageDigest = md.digest(filename.getBytes());
    BigInteger number = new BigInteger(1, messageDigest);
    String hashtext = number.toString(16);
    // Now we need to zero pad it if you actually want the full 32 chars.
    while (hashtext.length() < 32) {
        hashtext = "0" + hashtext;
    }
    return hashtext;
}
public MD5CheckSum() throws Exception{
    String path = "C:/Users/user/Downloads/Documents/ECOMM SUMMER BLOSSOM.docx";
    System.out.println("MD5 Hash Succeed");
    System.out.println(getMD5Checksum(path));
}
EDITED: I changed some code
public static String getMD5Checksum(String filename) throws Exception {
       byte[] b = createChecksum(filename);
       String result = "";
       for (int i=0; i < b.length; i++) {
           result += Integer.toString( ( b[i] & 0xff ) + 0x100, 16).substring( 1 );
       }
       return result;
   }
   public static void main(String args[]) {
       try {
           System.out.println("Start hashing....");
           System.out.println(getMD5Checksum("C:/Users/user/Downloads/Documents/21.pdf"));
           System.out.println("Done hashing....");
       }
       catch (Exception e) {
           e.printStackTrace();
       }
   }
But it takes too long to generate the hash and currently the hash still not generated till now.
 
     
     
    