2016-10-31 8 views
0

javaを使用してテキストファイルをUTF-8形式で保存する際に問題が発生しました。生成されたテキストファイルのように私が保存をクリックすると、UTF-8としてではなくテキスト形式としてANSIが与えられます。下記のファイルを作成しながら、私は書いているコードです:JavaでUTF-8エンコーディングでテキストファイルを保存する方法は?

String excelFile=""; 

    excelFile = getFullFilePath(fileName); 
    File file = new File(excelFile + fileName,"UTF-8"); 
    File output = new File(excelFile,"UTF-8"); 

    FileUtils.writeStringToFile(file, content, "UTF-8"); 

テキストファイルを作成している間、私はUTF-8エンコーディングを使用していますが、そのファイルがまだ保存中にANSIとしてエンコーディングを示しています。 助けてください。

+0

このURLを参照してください http://howtodoinjava.com/core-java/io/how-to-read-write-utf-8-encoded-data-in-java/ – Jobin

+0

なぜ2番目のパラメータ'File'コンストラクタはエンコーディング用ですか? [ドキュメント](https://docs.oracle.com/javase/7/docs/api/java/io/File.html#File(java.lang.String、%20java.lang.String))を読んでいましたか? ? – shmosel

+0

元のファイルのエンコーディングとは何ですか?あなたのコードも正しくありません。コンストラクタFileの2番目のパラメータは、 "encoding"ではなく "child"です。どのようにコンテンツ変数を初期化するのですか? –

答えて

1

Fileを使用する代わりに、FileOutputStreamを作成します。 これを試してください。

Writer out = new BufferedWriter(new OutputStreamWriter(
    new FileOutputStream("outfilename"), "UTF-8")); 
try { 
    out.write(aString); 
} finally { 
    out.close(); 
} 
+0

提案していただきありがとうございます。私はこれを試しましたが、保存中にANSI形式を提供しています。 –

0

私はそれに非常に似た問題を抱えていたと私はUTF-8エンコーディングで元のファイルを保存し解決しました。この場合、Excelファイルに移動してもう一度保存するか、新しいファイルを作成してコンテンツをコピーし、そのエンコーディングがUTF-8であることを確認してください。このリンクには、UTF-8エンコーディングでExcelファイルを保存する方法に関するチュートリアルがあります:https://help.surveygizmo.com/help/encode-an-excel-file-to-utf-8-or-utf-16。ほとんどの場合、あなたのコードは正しいと思われます。

関連する問題