0

私はこの機能を持っています:

public static String read(Context context) {
    FileInputStream fis;
    try {
        fis = context.openFileInput(INFO_FILE_NAME);
        int bufferSize = 2 * 1024 * 1024; // 2 MiB
        byte[] buffer = new byte[bufferSize];
        fis.read(buffer);
        return new String(buffer);
    } catch (Exception e) {
        Log.d(TAG, 
                "Exception while reading General Information File:"
                + e.getMessage());
        return null;
    }
}

関数は null を返します。これは、例外があったことを意味します。ただし、LogCat には何も記録されません。

Eclipseでデバッグしようとしました。「return new String(buffer);」まではすべて問題ありません。ライン。実行しようとすると、デバッガーは「return null;」に直接ジャンプします。「Log.d」を経由せずに行。さらに、「return null;」にいるとき。行、変数「e」がデバッガーに表示されません。これはどのように起こりますか?

4

2 に答える 2

1

バイトから文字列への変換時に考慮すべき主なポイントは、変換で使用されるエンコーディングです。

あなたは ricintech が言及したいくつかの有用なものを正しくコーディングしましたが、主なポイントは、上記のコメントで説明したように標準に従うことです.

于 2012-12-26T06:54:31.980 に答える
0

これを使って:

byte[] buffer = new byte[4096];
receivedData=new String(buffer);
于 2012-12-25T11:43:53.177 に答える