検索

ホームページ  >  に質問  >  本文

utf-8 - Java は FileWriter を使用して int 型データをファイルに書き込みますが、ファイル データが間違っていますか?

(タイトルが非常に曖昧であることは承知しています。どう説明してよいか本当にわからないからです)

この問題の原因は、Android APP が Java で開発されており、その機能の 1 つとして FileWriter を使用して int データをデータ ファイルに書き込むことです。このデータ ファイルは File の createNewFile(String filename) メソッドを使用して作成され、ファイルに書き込まれるデータはすべて int 型です。 (FileWriter の write(int) メソッド)

後続の処理の便宜上、データ ファイル内の各データ セグメントは 4 (int)-1 で分割されます (各データ セグメントの前に書き込まれます)。論理的に言えば、このファイルの最初の 16 バイトは ff である必要があります。ただし、実際のデータ ファイルは次のようになります:

UTF8 エンコード エラーなどのよくある問題が発生していますが、int が write を使用して書き込まれ、ファイルに String が書き込まれていない場合にエンコード エラーが発生する理由がよくわかりません。

そこで皆さんにお聞きしたいのですが、この状況 (純粋な int データ ファイル) ではどうすればよいでしょうか?他にデータを読み取る方法はありますか?

###前もって感謝します!

phpcn_u1582phpcn_u15822748日前597

全員に返信(1)返信します

  • 仅有的幸福

    仅有的幸福2017-05-17 10:00:09

    FileWrite の Write(int) メソッドは、ここでの int が実際には char 文字であるため、純粋な int ファイルを書き込むことができません。int データが Unicode コード テーブル内で対応する char 値を見つけることができない場合、文字化けが発生します。 toString メソッドを提供して文字列に変換できます
    実際の int データを書き込みたい場合

    リーリー

    返事
    0
  • キャンセル返事