問題タブ [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 投票する
2 に答える
8988 参照

java - 可能な限り高速な方法で大きなファイルをコピーする

大きなファイルを可能な限り高速にコピーする方法を見つけようとしました...

次に、このクラスを作成します。

私はそれをテストし、結果は非常に印象的でした...しかし、大きな問題があります.コピーされたファイルは現在のファイルよりも非常に大きいです!!!

それで、それをチェックして、問題を見つけるのを手伝ってください、ありがとう:))

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

java - 最初の実行で MappedByteBuffer が遅い

長年の読者、初めてのポスター。

一連のバイナリ ファイルからデータをすばやく読み取るのに少し問題があります。ByteBuffers と MappedBytBuffers は私が必要とするパフォーマンスを提供しますが、ウォームアップするために最初の実行が必要なようです。それが理にかなっているのかどうかわからないので、ここにいくつかのコードがあります:

したがって、これを実行するには約 7 秒かかりますが、もう一度実行すると 10 ミリ秒で完了します。正しい動作を設定するには、何らかの初期実行を行う必要があるようです。次のような単純なことを行うことで、次のように機能することがわかりました。

これには約 2 秒かかります。その後、MappedByteBuffer プロシージャを実行すると、10 ミリ秒でデータが返されます。その初期化ステップを取り除き、最初に10ミリ秒でデータを読み取る方法がわかりません。「ウォーミングアップ」、JIT、および JVM についてあらゆる種類のことを読みましたが、すべて役に立ちませんでした。

それで、私の質問は、10ミリ秒のパフォーマンスをすぐに得ることは可能ですか、それとも何らかの初期化を行う必要がありますか? もしそうなら、これを行うための最速の方法は何ですか?

このコードは約 1000 個の非常に大きなファイルを処理することを目的としているため、速度が非常に重要です。

どうもありがとう。

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

java - ファイルチャネルを巻き戻す方法

私の宿題ではfc.position(position)、内容を見つけるために使用する必要がありますが、その後、これを再帰的に行うために fc を巻き戻す必要があります。どうすればよいですか。fc の巻き戻し方法がないようです

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

java - 特定のバイトをオーバーパスしてファイルチャネルを逆にすることはできますか

私のプログラミングでは、処理した特定のオブジェクト util に対して読み取る必要があるバイト数がわかりません。しかし、せいぜい1024バイトであることはわかっています。

オブジェクトを処理した後、残りのバイトをファイルに戻すにはどうすればよいですか。つまり、残りのバイト数だけ fc を逆にします。

つまり、ファイルチャネルを特定のバイト数、たとえば現在の位置から 4 バイト戻すことができますか? –

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

java - 奇妙な ByteBuffer 出力

この奇妙な問題に遭遇したとき、私は ByteBuffers と IntBuffers を扱っていました。ここにコードがあります -

ご覧のとおり、プログラムは と を作成しByteBuffer、クラスのメソッドをIntBuffer使用してを 4 バイトとしてに追加します。try ブロックステートメントがコメントされる前にプログラムを実行したとき、 これが私の出力でした-put()IntBufferintByteBufferSystem.out.println(bb.getInt());

ステートメントのコメントを外して再度実行すると、 System.out.println(bb.getInt()); これが私の出力でした-

では、なぜこれが起こっているのか誰か教えてください。