5

FileWrite クラスを使用してファイルに書き込みます。正常に動作しています。しかし、FindBugs は私のコード スニペットにマイナーな問題を指摘しています。

コードスニペット:

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy_MM_dd");
        Date now = new Date();
        String fileName = formatter.format(now) + ".txt";
        FileWriter writer = null;
        try {
            File root = new File(Environment.getExternalStorageDirectory(), "Test");
            if (!root.exists()) {
                root.mkdirs();
            }
            File gpxfile = new File(root, fileName);

            writer = new FileWriter(gpxfile, true);
            writer.append(text + "\n\n");

        } catch (IOException e) {
            e.printStackTrace();

        } finally {
            if (writer != null) {
                try {
                    writer.flush();
                    writer.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

バグ報告:

デフォルトのエンコーディングへの依存 デフォルトのエンコーディングへの依存が見つかりました: new java.io.FileWriter(File, boolean)

どの行でこのエラーが発生していますか?

  writer = new FileWriter(gpxfile, true);

誰かが私にこれが正確に何であるかを説明してもらえますか? そして、どうすればこれを解決できますか?

4

3 に答える 3

1
File file = new File(someFilePath);
Writer w = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
PrintWriter pw = new PrintWriter(w);
pw.println(someContent);
pw.close();
于 2019-05-28T17:52:29.340 に答える