問題タブ [bufferedinputstream]
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.
java - 大きなファイルをバッファリングします。BufferedInputStream は 2 GB に制限されています。2^31 バイトに制限された配列
大きなファイルを順次処理していますが、その大きなチャンクをメモリに保持したいと考えています。64 ビット システムでは 16 GB RAM を使用できます。
これを行う手っ取り早い方法は、単純に入力ストリームをバッファリングされた入力ストリームにラップすることです。残念ながら、これでは 2 GB のバッファしか得られません。もっと記憶に残しておきたいのですが、他にどのような方法がありますか?
java - InputStream の最初の 2 バイトを確認するにはどうすればよいですか?
非常に単純なはずです: 最初の 2 バイトを覗き見したい (読み取らない) InputStream があります。これを行うための最善かつ最も安全な方法は何ですか?
回答- 私が推測したように、解決策は、マーク可能性を提供する BufferedInputStream でラップすることでした。ありがとうラスムス。
java - Java BufferedReader でテキスト ファイルの先頭に戻る?
現在BufferedReader
、同じテキスト ファイルで 2 つの s が初期化されています。最初の でテキスト ファイルの読み取りが完了したらBufferedReader
、2 番目のファイルを使用して、ファイルの先頭から別のパスを作成します。同じファイルを複数回通過する必要があります。
については知ってreset()
いますが、呼び出す前にファイルのサイズを知る必要がmark()
ありmark()
、気にする必要はないと思います。
アイデア?パッケージ?図書館?コード?
ありがとうTJ
java - File オブジェクトで FileInputStream を初期化するときに FileNotFoundException を取得する
File オブジェクトを使用して FileInputStream オブジェクトを初期化しようとしています。行で FileNotFound エラーが発生しています
正規表現を行うために同じ方法でこのファイルを何度も開いたので、これは奇妙です。
私の方法は次のとおりです。
java.io.FileNotFoundException: C:\dev\server\tomcat6\webapps\sample-site (アクセスが拒否されました)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(Unknown Source)
at java .io.FileInputStream.(不明なソース)
コントローラーの ScanEditRegions.fileToBIS
(ScanEditRegions.java:52) コントローラーの ScanEditRegions.tidyHTML(ScanEditRegions.java:38)
コントローラー
の ScanEditRegions.process(ScanEditRegions.java:64)
.ScanEditRegions.visitAllDirsAndFiles(ScanEditRegions.java:148)
で controller.Manager.main(Manager.java:10)
java - ゼロで終了する文字列用のJavaBufferedReader
JavaのInputStreamからゼロで終了する文字列を読み取る必要があります。
ゼロで終了する文字列を読み取るためのBufferedReader.readLine()メソッドに似たものはありますか?
java - java.io.Buffer* ストリームは通常のストリームとどう違うのですか?
1) バッファリングされたストリームはバックグラウンドでどのように機能しますか? 通常のストリームとどのように異なりますか? また、それらを使用する利点は何ですか?
2)DataInputStream
もバイトベースです。しかし、それにはメソッドがありreadLine()
ます。ここでのポイントは何ですか?
java - バッファリングされたリーダーから文字列を入力するにはどうすればよいですか?
私は主にスキャナーを使用して使用しすぎており、バッファー付きリーダーを使用してみてください:これまでのところ
私はあなたが言うことができるintを取得するのはかなり確実です
しかし、文字列が必要な場合はどうすればよいですか
java - org.apache.jk.common.JkInputStream.receive()にハングしているJBOSS-HTTPリクエストInputStreamを読み取るIOException
入力ストリームの読み取り中にJBOSSのすべてのスレッドがブロックされる問題があります。これは予測どおりに発生するわけではなく、システムが問題を起こし始めるまでに数日(またはそれ以上)実行される可能性があります。
問題はこの質問に似てい-Dhttp.keepAlive=false
ますが、他の誰かが別の/より良い解決策を持っているかどうか疑問に思ったので、私はまだ答えで推奨されているように設定しようとはしていません。このプロパティをfalseに設定することでパフォーマンスが低下する必要はありません(問題が解決すると仮定します)。
BufferedReader
とInputStream
読書の問題について話しているSunのバグがいくつかありますが(バグ6192696、バグ6409506)、私にはそれらは少し決定的ではないように見えます。このような問題とSunのバグに関するあなたの考え/アドバイス/経験は大歓迎です。
例外は次のとおりです。
リクエストヘッダーのサンプルは次のとおりです。
Servlet
これがWebアプリケーションのコードです。それは立ち往生しservletInputStream.read
ます:
JBossバージョン:JBossAS4.0.5.GA。
また、mod_jk
ポート80でHTTPリクエストをApacheサーバーからJBossサーバーにルーティングしています。
java - サーバーから送信されたバイト配列を受信し、一度に 4 つの単一バイトを読み取るにはどうすればよいですか
80 個の 4 バイト int フィールドで構成されるサーバーから 320 バイトのデータを受信する必要があります。それらを 4 バイトで受け取り、それぞれの int 値を表示するにはどうすればよいですか? ありがとう。
これが受信側に適しているかどうかはわかりません: