問題タブ [stream]

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

text - RTF ストリームをプレーン テキスト ストリームに変換する

Crystal レポートがあり、テキスト ファイルに変換する必要があります。現在、RTF ストリームにしか変換できません。次に、RTF ストリームをテキスト ストリームに変換する必要があります。私はC#を使用しています。

ありがとう。

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

python - PythonでPDFからストリームを抽出する

このストリームの一部(BLABLABLAという名前の部分)を、それを含むpdfファイルから抽出するにはどうすればよいですか?

または、他の世界では、PDFストリームからサブキーを抽出するにはどうすればよいですか?

いくつかのPythonのライブラリ(pyPdfやReportLabなど)を使用したいのですが、いくつかのC / C++libでもうまくいくはずです。

誰か助けてもらえますか?

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

stream - ウェブカメラから記録する WebOrb

WebOrb は、Web カメラをソースとして使用してビデオ (flv) ストリーミングを記録できますか? どのように?

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

python - IndirectObject 抽出用の pyPdf

この例に従って、すべての要素を pdf ファイルにリストできます。

ここで、pdf ファイルから非標準オブジェクトを抽出する必要があります。

私のオブジェクトは MYOBJECT という名前のオブジェクトで、文字列です。

私に関係するpythonスクリプトによって印刷された部分は次のとおりです。

pdfファイルは次のとおりです。

584文字列を参照するために値をたどるにはどうすればよいですか(もちろん pyPdf の下で)??

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

.net - NetworkStream が閉じているかどうかのテスト

Stream インスタンスをラップするクラスがあるので、それを使用して FileStream と NetworkStream をラップできます。ここで、ストリームがまだデータを配信しているかどうかをテストしたいと思います。つまり、NetworkStream がまだ接続されているかどうか、または FileStream が最後に達したかどうかをテストします。

次の Stream.Read() が例外を引き起こすかどうかを判断するために使用できる戻り値を持つ関数はありますか?

前もって感謝します。

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

c++ - Boost.Regex を使用してストリームを解析できますか?

Boost.Regex をいじって、単語と数字の文字列を解析していました。これは私がこれまでに持っているものです:

文字列ではなくストリームから解析するように正規表現に指示する方法はありますか? 任意のイテレータを使用できるように思われます。

0 投票する
4 に答える
11838 参照

c# - 非同期操作に.NET2.0シリアルポート.BaseStreamを正しく使用する方法

.NET2.0 SerialPortの.BaseStreamプロパティを使用して、非同期の読み取りと書き込み(BeginWrite / EndWrite、BeginRead / EndRead)を実行しようとしています。

私はこれである程度の成功を収めていますが、しばらくすると、(Process Explorerを使用して)アプリが使用しているハンドルが非常に徐々に増加し、場合によっては余分なスレッドが増加し、ハンドル数も増加することに気付きます。

コンテキストスイッチレートも、新しいスレッドが表示されるたびに増加します。

アプリは常に3バイトをPLCデバイスに送信し、その代わりに800バイト程度を取得し、57600のボーレートで送信します。

初期のCSwitchデルタ(これもProcess Explorerから)は約2500で、とにかく非常に高いようです。新しいスレッドが表示されるたびに、この値が増加し、それに応じてCPU負荷が増加します。

誰かが似たようなことをしてくれて、私を助けてくれることを願っています。あるいは、「神の名において、そのようにしないでください」とさえ言ってくれることを願っています。

以下のコードでは、「this._stream」はSerialPort.BaseStreamから取得され、CommsResponseはIAsyncresult状態オブジェクトとして使用するクラスです。

このコードは、シリアルポートを使用する代わりに作成するTCP接続に共通です(シリアルポートとTCPチャネルが派生したCommsChannel基本クラスがあります)。これらの問題はないので、かなり期待しています。 CommsResponseクラスには何の問題もありません。

ありがたいコメントをいただきました。

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

java - ランダム アクセスによるネットワーク経由でのファイルのストリーミング - Java

そのため、Java クライアント アプリで、ネットワーク上のサーバーから音楽ファイルを再生する必要がありました。私はソケットを考えていました-サーバーに音楽ファイルをストリームとして開き、クライアントにそれに接続させて、それを読み込んでInputStreamとして再生させます。どちらが機能しますか-ソケットストリームがそれをどのようにサポートできるかがわからないため、AFAICSユーザーがファイルをシークできないことを除いて(現在、ローカルファイルに対して可能です)。

より良いアイデアはありますか?または、ソケットを使用してシークする方法はありますか?

JNI? それが役立つかどうかを知るには、私はそれについて十分に知りません。

(完全に不自由な) 最後の手段は、マップされたネットワーク ドライブを使用することです。

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

c# - .NET アプリケーションのリダイレクトされたコンソール出力で閉じたパイプを検出する

.NETConsoleクラスとそのデフォルトのTextWriter実装 (Console.Out例 として暗黙的に利用可能Console.WriteLine()) は、アプリケーションがその出力を別のプログラムにパイプしているときにエラーを通知せず、アプリケーションが終了する前に別のプログラムがパイプを終了または閉じます。これは、アプリケーションが必要以上に長く実行され、出力がブラック ホールに書き込まれる可能性があることを意味します。

リダイレクト パイプのもう一方の端が閉じていることを検出するにはどうすればよいですか?

より詳細な説明は次のとおりです。

この問題を示すサンプル プログラムのペアを次に示します。Produce計算の効果をシミュレートするために、かなりゆっくりと多くの整数を出力します。

Consume入力の最初の 10 行のみを読み取り、終了します。

これら 2 つのプログラムがコンパイルされ、最初の出力が 2 番目のプログラムにパイプされた場合、次のようになります。

Produce... が終了した後もずっと実行し続けることが観察できConsumeます。

実際には、私のConsumeプログラムは Unix スタイルheadであり、私のProduceプログラムは計算にコストのかかるデータを出力します。パイプのもう一方の端が接続を閉じたときに出力を終了したいと思います。

.NET でこれを行うにはどうすればよいですか?

(明らかな代替手段は、コマンドライン引数を渡して出力を制限することであることを知っています。実際、それは私が現在行っていることですが、もっと多くのことをできるようにしたいので、これを行う方法を知りたいですいつ読み取りを終了するかについての構成可能な判断 (例:grep前にパイプを通すhead)。

更新: .NETの実装は、エラー 0x6D ( ) および 0xE8 ( )System.IO.__ConsoleStreamを無視するようにハードコードされているようです。これはおそらく、コンソール ストリームを再実装する必要があることを意味します。はぁ...)ERROR_BROKEN_PIPEERROR_NO_DATA

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

java - Javaパイプストリームのコンテンツはどこに「保存」されますか?

プロファイラーの下でアプリケーションを実行しています。メモリ消費量が最も多い「クラス」はchar[]、私のアプリケーションでは約10kBです。

次に、300 MBのバイト配列データを保持するInputStream(正確には)を作成しました。PipedInputStream

次に、プロファイラーを調べましたが、大きな変化は見られません(300 MBを消費するものはどこにも見当たりません)。

問題は、その300 MBのバイト配列がメモリにない場合、Javaはそれをどこに保持するのかということです。

[更新] 300MBを取得した方法に関する追加情報PipedInputStream

ファイルアップロードメカニズムを備えたWebアプリを開発しています。そして、ファイルアップロードのプロセスの1つで、入力ストリーム(PipedInputStream)を作成します。基本的に、

  1. マルチパートファイルの入力ストリーム(一度に数KBのbyte [])を読み取り、
  2. 作成しましたPipedOutputStream
  3. 作成PipedInputStream(最近作成された出力ストリームをコンストラクターに渡す)
  4. マルチパートの入力ストリームをmyにPipedOutputStream書き込みました(別のスレッドで実行されます。スレッドを終了する前に、その出力ストリームをフラッシュして閉じます)。この時点で、自分の入力ストリームにマルチパートのバイトのコピーがあります。
  5. 次に、(偶然に)その入力ストリームを私のhttpセッションに保存しました(それが良いアイデアであるかどうかについての議論/討論は別の質問になります)

では、問題は、Javaが私InputStreamのコンテンツをどこに保持しているのかということです(プロファイラーのどこにも表示されません)。

[更新#2]

FileOutputStreamから読み取りPipedInputStream、ファイルに書き込むを持っています。