【问题标题】:saving to utf-8 file保存到 utf-8 文件
【发布时间】:2015-07-30 20:42:40
【问题描述】:

我正在尝试以 UTF_8 格式保存一个 .txt 文件,但我不明白应该将它添加到我的代码的哪个位置。这是我得到的。

String fileStringName =  userHome + "/wordsearch directory/Puzzle.txt";
        File filePath = new File(userHome + "/wordsearch directory/Puzzle.txt");
        File dirPath = new File (userHome + "/wordsearch directory");           
        //new method just made
        //make pop up jpane displaying puzzle ID.
        boolean filePathExists = false;
        if(!filePath.exists())
        {
            filePathExists = dirPath.mkdirs();
            try {
                //BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path),"UTF-8"));
                writer = new PrintWriter(new BufferedWriter(new FileWriter(fileStringName,  true)));
        //  Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileStringName), "UTF-8"));
            } catch (IOException e2) {
                writer = null;
                e2.printStackTrace();
            }
            writer.printf(savePuzzle.toString());
            writer.printf("\n");
            writer.close();

【问题讨论】:

  • this answer/问题对你有帮助吗?
  • 好吧,你的 cmets 似乎得到了正确的想法,只是你没有用 PrintWriter 包裹你的 BufferedWriter
  • 看起来怎么样?
  • 我似乎无法正确理解语法。

标签: java file utf-8


【解决方案1】:

试试这个:

File dirPath = new File (userHome + "/wordsearch directory");           
File filePath = new File(dirPath, "Puzzle.txt");

try {
    if (!dirPath.exists()) {
        dirPath.mkdirs();
    }
    Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath), StandardCharsets.UTF_8));
    writer.write(savePuzzle.toString());
    writer.write("\n"); // or writer.newLine()
    writer.close();
} catch (IOException e) {
    e.printStackTrace();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-04
    • 2014-10-27
    • 1970-01-01
    • 2013-04-23
    • 2019-08-08
    • 2020-08-08
    • 2014-02-11
    • 1970-01-01
    相关资源
    最近更新 更多