コマンドプロンプトをファイルに出力してJavaで読み取ろうとしています。次にÿþS[]e[]r[]i[]a[]l
、NotePad ++で開こうとすると、シリアルが表示されます。この問題を解決できますか?
ありがとう
コマンドプロンプトをファイルに出力してJavaで読み取ろうとしています。次にÿþS[]e[]r[]i[]a[]l
、NotePad ++で開こうとすると、シリアルが表示されます。この問題を解決できますか?
ありがとう
これは異なる文字エンコーディングの問題のようです。おそらく、あなたが読んでいるファイルは、すべての文字に 2 バイトが使用される UTF-16 エンコーディングを使用している可能性があります。Java でファイルを読み取るときに使用するエンコーディングを指定することで、問題を解決できるはずです。
Reader in = new InputStreamReader(new FileInputStream(filename), "UTF-16"));
Notepad++ は、ファイルの内容から、使用するエンコーディングがおそらく推測されることに注意してください。エンコーディングメニューで、Notepad++ がファイルの読み取りに使用しているエンコーディングを確認できます (別の「XXX でエンコード」に切り替えて、ファイルを変更せずに結果を表示することで、これを変更できます)。
エンコーディングの問題が一致していないようです。ファイルを(Javaで)として読み取りますUTF-8
。例えば:
Reader in = new InputStreamReader(new FileInputStream(filename), "UTF-8"));