(タイトルが非常に曖昧であることは承知しています。どう説明してよいか本当にわからないからです)
この問題の原因は、Android APP が Java で開発されており、その機能の 1 つとして FileWriter を使用して int データをデータ ファイルに書き込むことです。このデータ ファイルは File の createNewFile(String filename) メソッドを使用して作成され、ファイルに書き込まれるデータはすべて int 型です。 (FileWriter の write(int) メソッド)
後続の処理の便宜上、データ ファイル内の各データ セグメントは 4 (int)-1 で分割されます (各データ セグメントの前に書き込まれます)。論理的に言えば、このファイルの最初の 16 バイトは ff である必要があります。ただし、実際のデータ ファイルは次のようになります:
UTF8 エンコード エラーなどのよくある問題が発生していますが、int が write を使用して書き込まれ、ファイルに String が書き込まれていない場合にエンコード エラーが発生する理由がよくわかりません。
そこで皆さんにお聞きしたいのですが、この状況 (純粋な int データ ファイル) ではどうすればよいでしょうか?他にデータを読み取る方法はありますか?
###前もって感謝します!仅有的幸福2017-05-17 10:00:09
FileWrite の Write(int) メソッドは、ここでの int が実際には char 文字であるため、純粋な int ファイルを書き込むことができません。int データが Unicode コード テーブル内で対応する char 値を見つけることができない場合、文字化けが発生します。 toString メソッドを提供して文字列に変換できます
実際の int データを書き込みたい場合