MainClass.java Source code

Java tutorial

Introduction

Here is the source code for MainClass.java

Source

import static java.lang.Math.ceil;
import static java.lang.Math.min;
import static java.lang.Math.sqrt;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.LongBuffer;
import java.nio.channels.FileChannel;

public class MainClass {
    public static void main(String[] args) {
        int count = 100;

        long[] numbers = new long[count];

        for (int i = 0; i < numbers.length; i++) {
            numbers[i] = i;

        }
        File aFile = new File("data.bin");
        FileOutputStream outputFile = null;
        try {
            outputFile = new FileOutputStream(aFile);
        } catch (FileNotFoundException e) {
            e.printStackTrace(System.err);
            System.exit(1);
        }
        FileChannel file = outputFile.getChannel();
        final int BUFFERSIZE = 100;
        ByteBuffer buf = ByteBuffer.allocate(BUFFERSIZE);
        LongBuffer longBuf = buf.asLongBuffer();

        int numberWritten = 0;

        while (numberWritten < numbers.length) {
            longBuf.put(numbers, numberWritten, min(longBuf.capacity(), numbers.length - numberWritten));
            buf.limit(8 * longBuf.position());
            try {
                file.write(buf);
                numberWritten += longBuf.position();
            } catch (IOException e) {
                e.printStackTrace(System.err);
                System.exit(1);
            }
            longBuf.clear();
            buf.clear();
        }

        try {
            System.out.println("File written is " + file.size() + " bytes.");
            outputFile.close();
        } catch (IOException e) {
            e.printStackTrace(System.err);
            System.exit(1);
        }
    }
}