問題タブ [nio2]

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 に答える
1620 参照

java - Files.createTempDirectory("") が NullPointerException をスローする

電話するFiles.createTempDirectory("")と、以下の例外が発生します。

Files.createTempDirectory("")I have found in any FileAttributes の使用例はありません。試してみましFiles.createTempDirectory("", new FileAttribute<?>[] { });たが、どちらも役に立ちませんでした。

Windows 7 システムで 32 ビット JDK 7 を使用しています。私はマシンのローカル管理者ではありません。

誰かがこれに出くわしましたか?

更新 1:

Files.createTempFile(this.tempDir.toPath(), "tmpFile", "");同じ問題があるようです。

回避策として、に移動しましたcom.google.common.io.Files.createTempDir()

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

java - Java NIO2 Files.copy() と Bash cp - パフォーマンスの比較

Bashスクリプトによってコマンドラインから起動されるJavaプログラムがあり、cronによってさまざまな間隔で呼び出されます。

このプログラムによって実行される操作はいくつかあります。最初の操作は、多かれ少なかれ大きなファイルを大量にコピーすることです。(30 KB の 10000 個のファイルから 1 個の大きな 1 GB ファイルまでありますが、これらはどちらも特殊なケースです。)

パフォーマンスを確保するために、このステップをどのように実行する必要があるか(速度など)に興味があります。

Bash のcp関数または Java 7 の関数のいずれかを使用できますFiles.copy()私は自分のテストを実行しますが、実装を決定する前に考慮できる比較データがあるかどうか疑問に思っていますか?

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

java - NIO を使用して Windows ショートカットのソースに関する情報を取得するにはどうすればよいですか?

このコード スニペットを見てください。

followLink.lnk という名前のファイルは、次の Windows アクションを使用して作成されました。

ファイルをマウスで右クリック -> ショートカットを作成

最後の 2 行の出力は同じで、ショートカットに関するこの情報です。ソースの情報をnio2で入手する方法はありますか?

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

java - ルート フォルダーの下でマスクを使用してファイルを検索すると、NullPointerException が表示されるのはなぜですか?(Windows)

Java nio2 の可能性を調査します。

FileVisitorインターフェイスを使用してファイルを検索できることは知っていました。この機能を実現するために、グロブ パターンを使用します。

私の例のコード:

訪問者インターフェースの実現:

主な方法:

この main メソッドのバリアントは適切に機能しますが、変更すると:

次のスタックトレースが表示されます。

私はこの問題の原因ではありません。

それを解決する方法は?

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

java - サーバー クライアントでの非同期読み取り: 個別のクライアント メッセージ

を使用して単純なサーバーを実装していますAsynchronousServerSocketChannel。テスト目的で、2 つのメッセージを送信して"hi"から"stackoverflow"切断する小さなクライアント プロトタイプを作成しました。サーバー側では、到着したメッセージを読み取り、標準出力に出力します。クライアントが実行されたとき、私は受け取ることを期待しています:

問題は、サーバーが読み取りコールバックを呼び出したときに両方のメッセージがすでに到着していることがあるため、

代わりは。

問題は、サーバー側でメッセージが個別に到着することを保証できるかどうかです。

クライアント接続を処理する私のCompletionHandlerプロトタイプは次のとおりです。

ByteBufferStringの変換:

テスト クライアントのプロトタイプを次に示します。

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

java - 非常に大きなテキスト ファイルを最大行数で分割する

文字列を含む巨大なファイルを新しい(より小さい)ファイルのセットに分割し、nio2 を使用しようとしました。

ファイル全体をメモリにロードしたくないので、BufferedReader で試してみました。

小さいテキスト ファイルは、テキスト行の数によって制限する必要があります。

解決策は機能しますが、java 8 (stream()-api を使用したラムダなど) と nio2 を使用することで、パフォーマンスが向上する解決策を誰かが知っているかどうかを尋ねたいと思います。

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

java - java nio2ネットのパフォーマンスを向上させるには?

nio2 の api を読んで、次の改善方法を見つけました。

これらは特定の状況に依存します。

ポイントツーポイントの他の方法はありますか?

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

java - Java nio SocketChannel.read は、ストリームの終わりを示すために -1 を返さない

NIO/Selector を使用して Web スクレイピングを行うコードを書いています。できます。OP_CONNECT を取得してから、GET リクエストを送信し、html ページ全体を取得します。しかし、その後、終了したことを知るために-1を取得しません。が表示されます。これは、ページ全体が送信されたことを意味しますが、SocketChannel.read はストリームの終了を示すために -1 を返しません。本当に助けていただければ幸いです!

サンプルコード全体は次のとおりです。