MainClass.java Source code

Java tutorial

Introduction

Here is the source code for MainClass.java

Source

/*
 * Output:
File stream created successfully.
New buffer:           position = 0   Limit = 1024   capacity = 1024
Buffer after loading: position = 30   Limit = 1024   capacity = 1024
Buffer after flip:    position = 0   Limit = 30   capacity = 1024
Buffer contents written to file.
 */

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

public class MainClass {
    public static void main(String[] args) {
        String phrase = new String("www.java2s.com\n");

        File aFile = new File("test.txt");
        FileOutputStream outputFile = null;
        try {
            outputFile = new FileOutputStream(aFile, true);
            System.out.println("File stream created successfully.");
        } catch (FileNotFoundException e) {
            e.printStackTrace(System.err);
        }

        FileChannel outChannel = outputFile.getChannel();

        ByteBuffer buf = ByteBuffer.allocate(1024);
        System.out.println("New buffer:           position = " + buf.position() + "\tLimit = " + buf.limit()
                + "\tcapacity = " + buf.capacity());

        // Load the data into the buffer
        for (char ch : phrase.toCharArray()) {
            buf.putChar(ch);
        }
        System.out.println("Buffer after loading: position = " + buf.position() + "\tLimit = " + buf.limit()
                + "\tcapacity = " + buf.capacity());
        buf.flip();
        System.out.println("Buffer after flip:    position = " + buf.position() + "\tLimit = " + buf.limit()
                + "\tcapacity = " + buf.capacity());

        try {
            outChannel.write(buf);
            outputFile.close();
            System.out.println("Buffer contents written to file.");
        } catch (IOException e) {
            e.printStackTrace(System.err);
        }
    }
}