如何在arraylist中用阿拉伯语写

如何在arraylist中用阿拉伯语写

我有一个读取文件的应用程序,然后用户用其他语言更新文件并保存。但是只要有人更改语言并保存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/

10-10 12:57