Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import java.io.File;
import java.io.FileInputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class Main {
    public static void main(String[] args) throws Exception {
        File aFile = new File("primes.txt");
        FileInputStream inFile = new FileInputStream(aFile);
        FileChannel inChannel = inFile.getChannel();
        ByteBuffer buf = ByteBuffer.allocateDirect(1024);
        buf.position(buf.limit());
        while (true) {
            if (buf.remaining() < 8) {
                if (inChannel.read(buf.compact()) == -1) {
                    break;
                }
                buf.flip();
            }
            int strLength = (int) buf.getDouble();
            if (buf.remaining() < 2 * strLength) {
                if (inChannel.read(buf.compact()) == -1) {
                    break;
                }
                buf.flip();
            }
            byte[] strChars = new byte[2 * strLength];
            buf.get(strChars);
            if (buf.remaining() < 8) {
                if (inChannel.read(buf.compact()) == -1) {
                    break;
                }
                buf.flip();
            }
            System.out.println(strLength);
            System.out.println(ByteBuffer.wrap(strChars).asCharBuffer());
            System.out.println(buf.getLong());
        }
        inFile.close();
    }

}