我有一个读取文件的应用程序,然后用户用其他语言更新文件并保存。但是只要有人更改语言并保存txt文件,就将字母转换为符号???我想我必须将其保存为utf-8格式。任何的想法?
当用户单击“保存”按钮时,代码的下一部分将从jtable中获取数据并将其保存到文件中。
注意:代码没有错。问题是该文件必须另存为utf-8。
if(buttonPressed.equals(save)){
File myFile = new File("youFile.srt");
try (PrintWriter writer = new PrintWriter(myFile)) {
for (int i =0 ; i< cModel.getRowCount(); i++)
{
sData.add(cModel.getValueAt(i, 1).toString());
eData.add(cModel.getValueAt(i, 2).toString());
tData.add(cModel.getValueAt(i, 3).toString());
writer.println(i+1 + "\n");
writer.println(sData.get(i)+" --> " + eData.get(i));
writer.println(tData.get(i));
writer.println("\n");
}
}catch(FileNotFoundException ioEx){
ioEx.printStackTrace();
}
最佳答案
PrintWriter需要与OutputStreamWriter结合使用,因为它提供了构造函数来提供文件格式。您可以执行以下操作:
FileOutputStream outputStream = new FileOutputStream(myFile);
PrintWriter writer = new PrintWriter(new OutputStreamWriter(
outputStream, StandardCharsets.UTF_8), true)
关于java - 如何在arraylist中用阿拉伯语写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29997427/