私のアプリケーションは、カーネル空間からいっぱいになっているcharデバイスから読み込みます。現在、私は正常に動作しているRandomAccessFileでアクセスしています。アプリケーション起動時にJavaからcharデバイスを空にする
私のアプリケーションを起動する前に、データが既にcharデバイスに書き込まれています。 (最低1秒間に一定のデータがあります)
私はアプリケーションを開始する前に挿入したデータを "無視"します。
問題は、この文字デバイスに現在どのくらいのデータがあるのかわかりません。それはパイプからの読書のようなものです、私はいくつかのリーダークラスを試しましたが、長さにアクセスすると、常に不正なシーク例外が発生します。
charデバイスを文字通り「空にして」データを読み込む前に、誰かが正しい方向に向けるかもしれないと思います。 私はjava.nioのように、非ブロッキングのioで作業したことがありません。もの、これは行く方法ですか?
残念ながら、掲載の準備ができていない場合は、必要な場合は教えてください。
こんにちは、私はそれを試していませんでした。 setLengthのドキュメントを読むと、lengthにアクセスしようとします。長さにアクセスするたびに、私は不正なシーク例外を取得します。 FileInputStreamを使ってみましたが、この違法シークで同じ問題が発生しました。私はスキップが私のために働くかどうかをチェックする。 – evildead
もう一度、setLengthもskipも動作しません。私はいつもIllegal seek IOExceptionを得る。 – evildead