我正在尝试编码并保存在Cp1252编码中的字符串,并将其显示在java文本区域中。当我读回来时,它带有问号的黑色钻石,通常是特殊字符(',&等)。我应该如何格式化以显示正确的字符。Java编码错误
我无法复制和粘贴文本,因为它在移出单词时几乎可以正确显示。但我用来读取Cp1252文件的代码如下:
try {
br = new BufferedReader(new FileReader(f));
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
emi.stringContent += "\n" + strLine;
}
br.close();
} catch (FileNotFoundException ex) {
Logger.getLogger(EMailTmpDirRead.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(EMailTmpDirRead.class.getName()).log(Level.SEVERE, null, ex);
}
谢谢!
作了如下修改,现在没有什么读
StringBuffer temp2 = new StringBuffer(1000);
int numRead = 0;
char[] buf = new char[1024];
try {
ir = new InputStreamReader(new FileInputStream(f), "Cp1252");
while((numRead = ir.read()) != -1)
{
String temp = String.valueOf(buf, 0, numRead);
temp2.append(temp);
buf = new char[1024];
}
emi.stringContent = temp2.toString();
线似乎被跳过 的StringBuffer TEMP2 =新的StringBuffer()。
try {
ir = new InputStreamReader(new FileInputStream(f), "Cp1252");
br = new BufferedReader(ir);
while(br.readLine() != null)
{
temp2.append(br.readLine());
}
emi.stringContent = temp2.toString();
可能重复的[Java FileReader编码问题](http://stackoverflow.com/questions/696626/ java-filereader-encoding-issue) – 2013-05-10 03:18:53