問題タブ [inputstream]
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 - Javaで2つの入力ストリームをどのようにマージしますか?
Java に 2 つの InputStream がある場合、それらをマージして、両方のストリームの出力を提供する 1 つの InputStream で終了する方法はありますか? どのように?
java - InputStream から SelectableChannel を取得するには?
タイムアウトで java.io.InputStream から読み取りたい。どうやらこれを行う正しい方法は、java.nio.channels.SelectableChannel と java.nio.channels.Selector を使用することです。残念ながら、InputStream から SelectableChannel に移行する方法は明確ではありません。
InputStream は、従来とは異なるソースから来ています -- http://java.sun.com/products/javacomm/reference/api/javax/comm/CommPort.html#getInputStream()
java - JavaでStringをInputStreamに変換するにはどうすればよいですか?
与えられた文字列:
に変換するにはどうすればよいInputStream
ですか?
java - クラスパスリソース(XMLファイル)からの入力ストリームの取得
Java Webアプリケーションで、CLASSPATH(つまり、 sourcesフォルダー内)に配置されているXMLファイルのInputStreamを取得したい場合、どうすればよいですか?
java - ZipInputStream は *実際の* (つまり、圧縮された) 読み取られたバイト数を報告しません
このウェブサイトが大好きです!私の問題は次のとおりです。
HTTP "PUT" リクエストからネットワーク経由で送信される zip ファイルを読み込んでいます。リクエスト ヘッダーは、Content-Length が (たとえば) 1Mb であることを示しています。次のコードは、ZipInputStream を作成し、zip コンテンツを現在のディレクトリ内のファイルに保存します。
結局のところ、totalBytesRead
約 1.5Mb に相当します (ファイルの圧縮率にもよりますが、何でもかまいません!)。私が知りたいのは、オリジナルから読み取られた実際のバイト数を調べる方法があるかどうinputStream
かです。両方ともze.getSize()
、ze.getCompressedSize()
圧縮されたエントリごとに -1 を返します (つまり、わかりません)。転送された zip ファイルの何バイトがネットワークから読み取られたかを示すプログレス バーにこの情報が必要です。
提案?おそらく、ZipInputStream をサブクラス化し、ラップされた InputStream から読み取っているバイト数を確認する必要がありますか?
前もって感謝します!
java - java.lang.String から java.io.InputStream を取得するにはどうすればよいですか?
String
として使用したい がありますInputStream
。Java 1.0 では を使用できjava.io.StringBufferInputStream
ましたが、それは次のように行われていました@Deprecrated
(正当な理由により、文字セットのエンコーディングを指定することはできません)。
このクラスは、文字を正しくバイトに変換しません。JDK 1.1 では、文字列からストリームを作成するための推奨される方法は、
StringReader
クラスを使用することです。
でを作成できますが、を取得java.io.Reader
してを作成するjava.io.StringReader
アダプタはありません。Reader
InputStream
適切な代替品を求める古代のバグを見つけましたが、私が知る限り、そのようなものは存在しません。
よく提案される回避策は、へjava.lang.String.getBytes()
の入力として使用することjava.io.ByteArrayInputStream
です。
しかし、それはメモリ全体String
をバイト配列として実体化することを意味し、ストリームの目的を無効にします。ほとんどの場合、これは大したことではありませんが、ストリームの意図を保持するもの、つまりメモリ内で (再) 実体化されるデータをできるだけ少なくするものを探していました。
java - Javaで特定の速度でファイルを読み取る
特定の速度で長いファイルを読み取る方法に関する記事/アルゴリズムはありますか?
読み取りの発行中に 10 KB/秒を渡したくないとします。
java - 複数の用途のためにInputStreamをキャッシュする方法
私はファイルのInputStreamを持っており、次のようにapachepoiコンポーネントを使用してファイルから読み取ります。
問題は、同じストリームを複数回使用する必要があり、POIFSFileSystemが使用後にストリームを閉じることです。
入力ストリームからデータをキャッシュしてから、さまざまなPOIFSFileSystemにさらに多くの入力ストリームを提供するための最良の方法は何ですか?
編集1:
キャッシュとは、アプリケーションを高速化する方法としてではなく、後で使用するために保存することを意味しました。また、入力ストリームを配列または文字列に読み込んでから、使用するたびに入力ストリームを作成する方がよいでしょうか。
編集2:
質問を再度開いて申し訳ありませんが、デスクトップとWebアプリケーション内で作業する場合の条件は多少異なります。まず、Tomcat Webアプリのorg.apache.commons.fileupload.FileItemから取得したInputStreamはマーキングをサポートしていないため、リセットできません。
次に、ファイルをメモリに保持して、アクセスを高速化し、ファイルを処理する際のioの問題を減らしたいと考えています。
c++ - HTTP入力ストリームクラス(C ++)
私は現在、必要なデータに対して多くのHTTPリクエストを実行するプロジェクトに取り組んでいます。これは、すべてのデータをバッファーに書き込み、そのバッファーを呼び出し元に返すことで機能します。ファイル全体が本質的にストリーミング可能なデータをダウンロードするのを待つのは悪い考えのようです。
質問1:ストリームとして機能するHTTPおよび認証済みHTTPリクエストを作成できるライブラリ/パブリックコードはすでにありますか?
質問2:そのようなライブラリがない場合は、どうしてですか?そのようなことが必要とされなかった理由はありますか?