Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import java.io.File;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;

public class Main {
    static public void main(String args[]) throws Exception {
        File infile = new File("inFilename");
        File outfile = new File("outFilename");

        RandomAccessFile inraf = new RandomAccessFile(infile, "r");
        RandomAccessFile outraf = new RandomAccessFile(outfile, "rw");

        FileChannel finc = inraf.getChannel();
        FileChannel foutc = outraf.getChannel();

        MappedByteBuffer inmbb = finc.map(FileChannel.MapMode.READ_ONLY, 0, (int) infile.length());

        Charset inCharset = Charset.forName("UTF8");
        Charset outCharset = Charset.forName("UTF16");

        CharsetDecoder inDecoder = inCharset.newDecoder();
        CharsetEncoder outEncoder = outCharset.newEncoder();

        CharBuffer cb = inDecoder.decode(inmbb);
        ByteBuffer outbb = outEncoder.encode(cb);

        foutc.write(outbb);

        inraf.close();
        outraf.close();
    }
}