11

私のアプリケーションは Java クラスRandomAccessFileを使用して、 SeekableByteChannelインターフェイスを実現することにより、SD カード上のファイルにランダムにバイトを読み書きします。ここで、新しい Lollipop API を使用して Android 5.0 用に書き直す必要があります。

私は読む唯一の方法を見つけました:

InputStream inputStream = getContentResolver().openInputStream(uri);

そして書く:

ParcelFileDescriptor pfd = getActivity().getContentResolver().openFileDescriptor(uri, "w");
FileOutputStream fileOutputStream = new FileOutputStream(pfd.getFileDescriptor());

新しい API のファイルから/へ。

チャネルをランダムな位置に設定し、その位置にバイトを読み書きできるようにしたいと考えています。新しいSDK 21でそれを行うことは可能ですか? 新しいSDKは、この方法でチャネルを取得することを意味しますか:

FieInputChannel fieInputChannel = fileInputStream.getChannel();
FieOutputChannel fieOutputChannel = fileOutputStream.getChannel();

または他のアプローチ?

4

1 に答える 1