2011-07-16 48 views

答えて

11

それはなんですか?

ファイル記述子は、プロセスが開いているファイルを読み書きしたり、ネットワークソケットを開いたりするために使用するオブジェクトです。

FileDescriptor生のLinuxファイルディスクリプタ識別子を表すオブジェクトを書き込むことができ、ParcelFileDescriptorオブジェクトが元のファイルディスクリプタで動作するように戻されます。返されるファイル記述子は、元のファイル記述子のdupです。オブジェクトとfdは異なりますが、同じ基本ファイルストリーム上で同じ位置で動作します。

とは何ですか?

パイプを作成し、ソケットからfdsを作成し、ファイルを開いたり閉じたりします。

+0

PercelFileDescrptorを使用してソケットからビデオを受信できますか? ソケットとメディアプレイヤーの間を接続するパイプと同じに見えます – user829821

3

Parcable APIを実装しています。Parcable APIは、バンドルとインテントに配置できます。プロセス間でFileDescriptorを送信することも可能です。 (私はこれをテストしていない)。

また、VPNServiceはあなたにParcelFileDescriptorを与えます。

+0

これは素晴らしいことです。しかし、私の質問は、ファイルのパス(ファイルの場合)を見つける方法はありますか? –

+0

おそらく公式のAPIはありません。これは単なるラップされたfdまたは言い換えれば単なる整数です。私はfdのパスを得ることを可能にするUNIX APIについて知らない。 – plaisthos

+0

@plaisthos:Linux(したがってAndroid)では/ proc/$ PID/fd/$ FDは実際のファイルへのシンボリックリンクです。これが信頼できるのかどうかは分かりません。 – mvds

0

ファイルが開かれるたびに、オペレーティングシステムはこのファイルを表すエントリを作成し、その情報を格納します。各エントリは整数値で表され、このエントリはファイル記述子と呼ばれます。 基本的に、JavaクラスFileDescriptorは、オープンファイル、オープンソケット、または別のバイトのソースまたはシンクを表す基になるマシン固有の構造体へのハンドルを提供します。

+0

あなたの答えへの参照を追加する – NSNoob

関連する問題