問題タブ [filechannel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
416 参照

java - ファイル チャネルを使用してファイルにランダム アクセスしますか?

FileChannelから取得するFileInputStreamと、 position メソッドを使用してファイルポインターを自由に移動できることがわかりました。FileChannelの機能を提供するということですRandomAccessFileか?

0 投票する
2 に答える
1112 参照

java - FileChannel のデメリット -> BufferedReader -> Reader

FileChannelwill は より速くBufferedReaderBufferedReaderwill はReaderbecauseFileChannelよりも速く、BufferedReaderデータを受信するためのいくつかの中間ステップを省略しています。

私の質問は次のとおりです。利点は明らかですが、ウェブ上の情報源でその欠点について述べられているものはありません。(FileChannelからBufferedReaderBufferedReaderからReader)。間の中間ステップを切り取ると、なんと問題でしょう。

では、どなたか教えてください。

@:そして、出力についても同じ質問です。それらのデメリットを教えてください。

ありがとう :)

0 投票する
2 に答える
548 参照

java - NIOセレクターを使用してファイルを追跡する方法、つまり、行がファイルに追加されると、チャンネルが選択されて行を読み取ることができますか?

GC ログをリダイレクトできないため、-Xloggc を使用してファイルにリダイレクトし、何らかのファイル チャネルを介してセレクタ内のこのファイルの内容を取得するオプションが残されています。基本的に、ファイルに行が追加されると、セレクターがそれらを読み取るようにトリガーされます。そうすれば、プログラムで GC ログを取得できます。NIOを使用してそれを行うことは可能ですか?

0 投票する
1 に答える
2093 参照

java - 原因不明の ClosedByInterruptException。Java ファイルチャネルのバグ?

まれに、本番アプリケーションClosedByInterruptExceptionFileChannel. Java のドキュメントによると、これは、呼び出し元のスレッドが中断された状態にある場合に発生します。興味深いことに、私のアプリケーションはスレッドに割り込むことはありません。これは、アプリケーションの下から発生しているようです。おそらく何らかのシステム割り込み?誰かがこの問題に遭遇しましたか?

0 投票する
2 に答える
1111 参照

java - Java-NIO: オフセットアドレス / NullPointer で FileChannel.read() を使用する

FileChannel.read(ByteBuffer[],int,int)java-NIOのメソッドを使用してファイルの特定の部分だけを読み取る方法を知っている人はいますか?

read() メソッドの実行中に NullPointer をスローします。バッファーは十分大きくなければなりません。offsetAddress は 0、endAddress は 255 で、ファイルサイズはそれをはるかに超えています。

0 投票する
0 に答える
1598 参照

java - java FileChannelがファイルに書き込み、最後に\nを追加する

FileChannelを使用してログを作成しようとしています。何らかの理由で、ファイルに\n文字が含まれていません。

私の機能:

これは私の出力ファイルです:

0 投票する
3 に答える
1450 参照

java - Java:FileChannelを使用してファイルに書き込むと、ファイルが縮小しますか?

FileChannelを使用して、ファイルの特定の位置に特定のバイトを書き込もうとしました。しかし実際には、ファイルは変更を書き込む最後の位置に縮小されます。私はこのようにします:

これが私が得た出力です:

どこが悪いのか誰か教えてもらえますか?

0 投票する
3 に答える
1944 参照

java - android : あるファイルを別のファイルにコピーするためのより高速なソリューション

BufferedInputStream を使用してファイルをコピーしています。ループで byte[] をコピーします。これは、大きなファイルでは非常に遅くなります。

FileChannel 構造を見ました。これも使ってみました。FileChannel が IOSTreams を使用するよりも優れているかどうかを知りたいです。テスト中、大幅なパフォーマンスの向上は見られませんでした。

または、他のより良い解決策があります。

私の要件は、srcファイルの最初の1000バイトを変更してターゲットにコピーし、srcファイルの残りのバイトをターゲットファイルにコピーすることです。

ファイルチャンネルあり

I/O ストリームの使用

0 投票する
2 に答える
930 参照

java - 同じFileChannelを使用して読み取りと書き込みを行う方法はありますか?

私はJavaNIOを初めて使用します。FileChannelオブジェクトには読み取りメソッドと書き込みメソッドの両方があることがわかります。FileChannelしかし、ある時点で同じものを使用して読み書きすることはできません。そうする方法はありますか?

0 投票する
4 に答える
648 参照

java - Java-ファイルから読み取られているバイトを処理します

Javaの1つのスレッドでFileInputStreamなどの読み取り呼び出しを行い、2番目のスレッドで同時にロードされているバイトを処理する方法はありますか?私はいくつかのことを試しました-私の現在の試みでは、これを実行しているスレッドが1つあります:

そして、ロードされているバイトにアクセスしたい2番目のスレッド。明らかに、最初のスレッドでの読み取り呼び出しは、バッファーがいっぱいになるまでブロックされますが、その時点より前にバッファーにロードされたバイトにアクセスできるようにしたいです。現在、私が試したものはすべてバッファがあり、読み取りが完了するまでバッキング配列は変更されていません-これは、このスレッドのポイントを無効にするだけでなく、データがどこかの中間バッファにロードされ、後で私のバッファにコピーされていることを示唆しています。ダフト。

1つのオプションは、配列への小さな読み取りの束を実行し、後続の読み取りでオフセットを使用することですが、これにより余分なオーバーヘッドが追加されます。

何か案は?