Sample code for 30+ languages & platforms
Java

File Read Blocks

Demonstrates how to read a file in fixed-size blocks (except for the very last block).

Chilkat Java Downloads

Java
import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    boolean success = false;

    //  Demonstrates how to read a file in blocks,
    //  which can be useful when uploading to cloud storage
    //  services such as Azure, S3, Google, etc.

    //  For this example, we're simply writing the blocks
    //  to an output file, and then checking to see if the
    //  resulting file contents equals the original file contents.

    CkByteData dataBlock = new CkByteData();

    CkFileAccess facSrc = new CkFileAccess();
    CkFileAccess facDest = new CkFileAccess();

    String srcPath = "qa_data/xml/hamlet.xml";
    String destPath = "qa_output/hamletOut.xml";

    success = facSrc.OpenForRead(srcPath);
    success = facDest.OpenForWrite(destPath);
    //  Assuming success for the example..

    //  How many 1024-byte blocks?  (Including 1 for the last partial block)
    int numBlocks = facSrc.GetNumBlocks(1024);

    int i = 0;
    while ((i < numBlocks)) {
        success = facSrc.ReadBlock(i,1024,dataBlock);
        if (facSrc.get_LastMethodSuccess() != true) {
            System.out.println(facSrc.lastErrorText());
            return;
            }

        success = facDest.FileWrite(dataBlock);
        if (success != true) {
            System.out.println(facDest.lastErrorText());
            return;
            }

        i = i+1;
        }

    facSrc.FileClose();
    facDest.FileClose();

    boolean bEqual = facSrc.FileContentsEqual(srcPath,destPath);
    if (bEqual != true) {
        System.out.println("Something went wrong!");
        return;
        }

    System.out.println("File successfully copied by blocks.");
  }
}