Cp1252エンコーディングでエンコードおよび保存された文字列を取り、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 = new 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();