我有一个问题与Netbeans
文件查看器。我有一个字符串的阿拉伯语包括重音在每个字母的顶部。当我删除重音字符串,字母显示正确。但是,当我写的字符串与重音,它变得不知何故混乱(不正确)。
这是一个正在发生的事情的例子:
- 不带重音符号的文本(正确):
بسم الله الرحمن الرحيم
个 - 带重音符号的文本(不正确):
it shows broken, but if i copy it here it prints correctly
- 应该是这样的(正确):
بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيمِ
我写的代码是读取一个包含阿拉伯字符串沿着重音的文本文件,然后将其正确写入一个新文件,最后删除旧文件。代码如下:
public void arabicReformer(File disordered) {
File output = new File("data/temp2.txt");
try {
BufferedReader br = new BufferedReader(
new InputStreamReader(new FileInputStream(disordered), "UTF8"));
BufferedWriter bw = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(output), "UTF8"));
String line;
while ((line = br.readLine()) != null) {
bw.write(line.trim() + "\n");
}
br.close();
bw.close();
} catch (UnsupportedEncodingException e) {
System.out.println(e.getMessage());
} catch (IOException e) {
System.out.println(e.getMessage());
} catch (Exception e) {
System.out.println(e.getMessage());
}
output.renameTo(disordered);
}
PS:当我复制过去不正确的阿拉伯字符串与重音在这里,它打印正确!
1条答案
按热度按时间llmtgqce1#
日安,我的朋友:)尝试使用此代码读取和打印阿拉伯字符,并尝试确保您的文件最初是UTF-8格式。