0

ここで実行している、把握できない小さな技術的エラーがあるに違いありません。ファイルは AndroidLibrary の raw/ ディレクトリにあり、さまざまなファイルへのアクセスがこの方法でうまく使用されています。おそらく、私が釉薬をかけ続けるわずかなエラーがここにありますか?

注:生のリソースは圧縮されていない形式であるため、.jet 拡張子を付けて読み込むことができるため、内部ファイル システムから問題が発生することはありません。

編集 (更新):どうやらストリームを開くには、openRawResourceFd では不十分でした。それに加えて、assetDescriptor.createInputStream(); を呼び出す必要がありました。そうしないと、ストリームは適切に動作しません。奇妙なことに、私は openRawResourceFd がそのトリックを行うことを期待しています。

        AssetFileDescriptor assetDescriptor = resources.openRawResourceFd(com.grubulon.R.raw.testing_patches);
        BufferedReader bufferedInputStream = new BufferedReader(new FileReader(assetDescriptor.getFileDescriptor()));

        colorSpace = bufferedInputStream.readLine();

        while ((currentLine = bufferedInputStream.readLine()) != null) 
        {
            rgbValues = currentLine.split("\\t");
            red = Integer.parseInt(rgbValues[0]);
            green = Integer.parseInt(rgbValues[1]);
            blue = Integer.parseInt(rgbValues[2]);
            rgbPatches.add(new RgbColorValue(red, green, blue));
        }

        bufferedInputStream.close();
        assetDescriptor.close();

ファイル自体は実際には、RGB カラー値の Excel スプレッドシートであり、その間にタブが挿入されています。タブ コンポーネントは問題ではないようですが、最初の行は大量のテキストの文字化けです。色空間や値ではありません。ここで何が起こっているのかわかりません。

ファイルの例:

RGB
0   0   0
17  17  17
34  34  34
51  51  51
68  68  68
85  85  85
102 102 102
119 119 119
136 136 136
153 153 153
170 170 170
187 187 187
204 204 204
221 221 221
238 238 238
255 255 255
255 0   0
0   255 0
0   0   255

以下は、ファイルから出てくるテキストはほとんどないはずですが、Logcat で出てくる内容の例です。

Logcat ウィンドウ

4

1 に答える 1