当前位置: 代码迷 >> Web前端 >> TXT资料编码转换例子
  详细解决方案

TXT资料编码转换例子

热度:288   发布时间:2012-09-12 09:21:30.0
TXT文件编码转换例子
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 TranslateCharset {  
  static public void main(String args[]) throws Exception {  
    String inFilename = "inputFileName.txt";  
    String inFileCharsetName = "InputFileCharSetName";  
    String outFilename = "outputFileName.txt";  
    String outFileCharsetName = "OutputFileCharSetName";  
 
    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(inFileCharsetName);  
    Charset outCharset = Charset.forName(outFileCharsetName);  
 
    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();  
  }  
}  
  相关解决方案