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();
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值