package com.ibm.jnio; import java.io.*; import java.nio.*; import java.nio.channels.*; import java.nio.charset.*; public class UseCharsets { static public void main( String args[] ) throws Exception { String inputFile = "samplein.txt"; String outputFile = "sampleout.txt"; RandomAccessFile inf = new RandomAccessFile( inputFile, "r" ); RandomAccessFile outf = new RandomAccessFile( outputFile, "rw" ); long inputLength = new File( inputFile ).length(); FileChannel inc = inf.getChannel(); FileChannel outc = outf.getChannel(); MappedByteBuffer inputData = inc.map( FileChannel.MapMode.READ_ONLY, 0, inputLength ); Charset latin1 = Charset.forName( "ISO-8859-1" ); CharsetDecoder decoder = latin1.newDecoder(); CharsetEncoder encoder = latin1.newEncoder(); CharBuffer cb = decoder.decode( inputData ); // Process char data here ByteBuffer outputData = encoder.encode( cb ); outc.write( outputData ); inf.close(); outf.close(); } }