import java.io.FileNotFoundException;
import java.io.IOException;
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 test5 {
public static void main(String[] args) {
RandomAccessFile in = null;
RandomAccessFile out = null;
try {
in = new RandomAccessFile("C:\\Users\\liuyuan\\Desktop\\ant.txt",
"r");
out = new RandomAccessFile("C:\\Users\\liuyuan\\Desktop\\copy.txt",
"rw");
FileChannel fci = in.getChannel();
FileChannel fco = out.getChannel();
MappedByteBuffer mbb = fci.map(FileChannel.MapMode.READ_ONLY, 0, in
.length());
Charset latin = Charset.forName("ISO-8859-1");
CharsetDecoder decoder = latin.newDecoder();
CharsetEncoder encoder = latin.newEncoder();
CharBuffer cb = decoder.decode(mbb);
ByteBuffer bb = encoder.encode(cb);
fco.write(bb);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (null != in) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (null != out) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}