問題タブ [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 - 非圧縮のInputStreamをgzipで圧縮されたInputStreamに効率的に変換するにはどうすればよいですか?
ユーザーが大きなファイルを私のWebサイトにアップロードし、そのファイルをgzipで圧縮してBLOBに保存したいと考えています。したがって、非圧縮のInputStreamがあり、blobはInputStreamを必要としています。GZIPOutputStreamを使用してInputStreamをOutputstreamに圧縮する方法を知っていますが、gzipで圧縮されたOutputStreamからblobに必要なInputStreamに戻すにはどうすればよいですか。
私が見つけることができる唯一の方法は、ByteArrayOutputStreamを使用してから、toByteArrayを使用して新しいInputStreamを作成することです。しかし、それは私がメモリにファイルの完全なコピーを持っていることを意味します。また、JDBCドライバーの実装がストリームをbyte []に変換したとしても、メモリに2つのコピーがあるので、驚くことではありません。
java - 有効と思われる入力に対して Integer.parseInt が NumberFormatException をスローするのはなぜですか?
私は本から簡単な演習を行っていますが、Java 関数 parseInt がどのように機能するかについて少し混乱しています。入力ファイルから行を読み取り、StringTokenizer を使用してそれを分割し、各部分を整数として解析したいと考えています。
ウォッチ ウィンドウで、parseInt 関数の入力が実際に有効な整数 ("35" など) と思われる文字列であることを確認しました。ただし、値「35」を保持するstr.charAt
変数で関数を使用しようとすると、奇妙な結果が得られます。str
これはおそらくエンコーディングに何らかの形で関連する問題であるように思われるので、ファイルを読み取るこの方法を使用して修正しようとしました:
(エディターで UTF-8 エンコーディングを使用してファイルを明示的に保存しました) が、これは役に立ちませんでした。何が問題なのか、それを修正する方法はありますか?
編集:私のサンプル
c++ - C/C++ で行を読み取って解析します。トークンを配列またはベクトルまたは同様の構造に入れる
ACM IPC の問題の 1 つにコードを送信する必要がありますが、ご存知かもしれませんが、時間が非常に重要です。したがって、次のような入力を効率的に読み取る必要があります。最初の行には、関連付けられた整数値のシーケンスが含まれ、2 行目には、別のシーケンスに関連付けられた整数値のシーケンスが含まれます。例えば:
1行目を配列に、2行目を別の行に入れ、両方を関数に渡す必要があります。
これらを C/C++ で読み込んで配置するにはどうすればよいですか? 私は C の方法で考えていましたが、私のアプローチには 2 つの while があります... 私は scanf で読み取ることを好みますが、解析は必要に応じて行うことができます。
この初心者を助けてください!
java - InputStream.read()によって返される0はどういう意味ですか?これをどのように処理しますか?
InputStream.read
手段によって返される0(読み取られたバイト数)は何ですか?この状況に対処する方法は?
更新:read(byte[] b)
つまりread(byte[] b, int off, int len)
、読み取られたバイト数を返すメソッドを意味します。
blackberry - J2ME/Java: スレッドを介した StringBuffer の参照
この質問は長くなるかもしれませんが、多くの情報を提供したいと思います。
概要: Blackberry 用の株価情報アプリを作成しています。しかし、個々の Stock 情報を含む StringBuffer に問題があります。
プロセス: アプリは SocketConnection 経由でサーバーに接続します。サーバーは、最新の株式取引を含むフォーマットされた一連の文字列を送信します。したがって、新しい取引が発生するたびに、サーバーはその取引の個別の株価を送信します。InputStream を介して、その情報を読み取り、Threads によって参照される StringBuffer に各文字を配置できます。char3に基づいて解析することで、株価/情報のセットを特定できます。
char1 - データを分離するため char3 - 株価/情報の終わりを意味します
サーバーから送信されるサンプルの株価情報フォーマット: stock_quote_name(char 1)some_data(char1)some_data(char1)(char3)
次に、私のアプリはその株価情報を解析して特定のデータを比較し、画面に表示されるときにどのように見えるかをフォーマットします。取引が徐々に(ゆっくり)行われると、アプリは完全に機能します。でも..
問題: 取引があまりにも速くほぼ同時に発生すると、アプリは送信された情報を効率的に処理できません。StringBuffer の内容は、次のトレードと組み合わされています。意味 1 つの StringBuffer に 2 つの株式情報。
フィールドは次のようになります: Stock_quote_name some_data some_data
何が起こっているかのサンプル: Stock_quote_name some_data some_dataStock_quote_name some_data some_data
この部分の私のコードは次のとおりです。
私が見ることができることから、取引が非常に高速に行われると、StringBuffer はすぐには更新されず、新しいデータを入力しようとすると以前の取引の内容が残っています。
私の質問は次のとおりです。 次の情報を最初のコンテンツに追加せずに、データを StringBuffer に入れる方法について何か提案はありますか?
c++ - C++ でキーボード入力 (オーバーロードされた入力ストリーム演算子) を待機しない
簡単な質問です。
次のコードを開発しました。
そして、これは実装です:
問題は、オーバーロードされた入力ストリーム演算子を使用して入力を行おうとすると、一連の入力で1つの値を入力した後、プログラムが入力を待機しないことです。つまり、これが私の主な機能です。
それらをスキップするだけで、値を取得する最初の変数を除いて、変数は初期化されていないかのように割り当てられた値を取得します。
私の質問は、この動作を防ぐにはどうすればよいですか?
java - javaで起動したgrepプログラムのInputStreamにデータを書き込む
diff の実行から取得したデータを Java プログラムの GNU grep のインスタンスに処理しようとしています。Process オブジェクトの outputStream を使用して diff の出力を取得できましたが、現在、このデータを grep の標準入力に (Java で作成された別の Process オブジェクトを介して) 送信するプログラムがあります。入力を指定して Grep を実行すると、ステータス コード 1 のみが返されます。何が間違っていますか?
以下は私がこれまでに持っているコードです:
leftPath と rightPath はどちらも、比較するファイルを指す File オブジェクトです。
database - データベースからの HTML データの読み込みが遅いですか? より良いアプローチが必要ですか?
ページに表示しているHTMLソースデータを格納する列「html_view」を持つ18GBのmysqlのテーブルがありますが、ページを作成する「html_view」列からhtmlデータを取得するのに時間がかかりすぎていますロードが遅い。
既存の構造を単純化して、db またはその他の方法から html データをより高速にロードできるアプローチが必要です。
私たちが計画しているアイデアの 1 つは、HTML データを .txt ファイルに保存することです。db には、txt ファイルのパスを保存するだけで、ファイルを読み取ってその特定のファイルからデータを取得します。しかし、サーバーで大量の読み取り/書き込み操作が行われ、サーバーの速度が低下する可能性があることを懸念しています.
この状況をより速くするためのより良いアプローチはありますか?