java读取java文件乱码,Java读取文件乱码,请帮忙

类名:Test.java ,作用:读取一个文本文件中的繁体字,然后转为unicode.

aa.txt中的内容为:舉辦!

当我把类的Text file encoding设置gbk时,一切都能正常显示,可是我现在要把Text file encoding设为utf-8,此时

文字变成了乱码,unicode也不是文本中文字对应的编码了,请问怎么解决.我试着在程序中转码也不行,现在必须用utf-8.

Java code:

import java.io.File;

import java.io.IOException;

import java.io.RandomAccessFile;

import java.io.UnsupportedEncodingException;

public class Test {

public String readTxt(int off, int leng) {

RandomAccessFile r = null;

String str = "";

try {

r = new RandomAccessFile(new File("D:/aa.txt"), "r");

byte[] c = new byte[leng];

r.seek(off);

r.read(c);

str = new String(c);

} catch (Exception e) {

try {

r.close();

} catch (IOException e1) {

e1.printStackTrace();

}

e.printStackTrace();

}

return str;

}

private static String convert(String str) {

String tmp;

StringBuffer sb = new StringBuffer(1000);

char c;

int i, j;

sb.setLength(0);

for (i = 0; i < str.length(); i++) {

c = str.charAt(i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值