問題タブ [binarywriter]
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.
c++ - C++ で ifstream と ofstream を使用して、C# の BinaryReader / BinaryWriter 機能を模倣したい
floats/ints/strings をファイルに書き込み、floats/ints/strings として読み取る方法を探しています。(基本的には ios::binary として読み取り/書き込み)。
c# - 64ビットファイルの代替用のBinaryWriter?
BinaryWriter - 64 ビット値でシークを実行できません。関数 Seek に渡されるパラメーター (int32) 2 Gb を超えるファイル用の同様のクラスはありますか?
.net - バイナリ ライターからネットワーク ストリームへのデータの受信
これは私の前のスレッドの続きと見なすことができます。
ファイル共有アプリケーションでいくつかの開発と修正を行いましたが、別の問題に直面しています。これはそれほど難しいことではないと思いますが、現在、これに取り組むための脳力が不足しているだけです. 私はこれがより良い方法でできると信じています。
これが私が受け取っているエラーのスクリーンショットです。
スクリーンショットでわかるように、FileName
変数にはいくつかの値が含まれています。送信するファイルの名前です。お気づきの場合、変数には ello.cpp が含まれています。これはhello.cppでなければなりません。hello.cppは、送信されるファイルの名前です。末尾の文字はファイルの内容です。末尾の文字はもう問題ではありません。これを正しく解決できる限り、変数に格納されるのはファイル名だけです。
エラーは、ネットワーク ストリームの読み取りプロセス中に発生します。私が達成したいのは、ネットワーク ストリームがログ メッセージでないときに読み取られないようにしたいということです。networkstream.read
ファイルの最初の文字を取らないように、どこかに置く必要があります。たぶん、ある種のフィルタリング?または、ログ メッセージとファイル名を取得できるコードを 1 つだけ持つことができれば、それは絶対に素晴らしいことです。ファイル名はバイナリライターを使用して送信されます。ネットワークストリームを使用してファイル名を取得しようとしましたが、うまくいきません。ここで何か不足していますか?
サーバー部分のコードは次のとおりです。
クライアント側のコードは次のとおりです。
提案は高く評価されます。
前もって感謝します!:)
asp.net - ASP.NET:子ユーザーコントロール内のUpdatePanel内のResponse.BinaryWrite
したがって、次のシナリオがあります。
--- Page.aspx ---
--- UserControl.ascx ---
アタッチメントをダウンロードするには、次の方法を使用します。
しかし、コンテンツが更新パネル内にあるため、次のエラーが発生します。
「Sys.WebForms.PageRequestManagerParserErrorException:Sys.WebForms.PageRequestManagerParserErrorException:サーバーから受信したメッセージを解析できませんでした。」
string-formatting - Delphi Prism: バイナリ ファイルから文字列を読み取ると、奇妙な文字が返される
文字列をファイルに書き込んで、binarywriter と binaryreader を使用して読み戻しています。文字列を読み返すと、すべておかしく、非常に長く見えます。なぜそれがそうしているのかわかりません。
binarywriter を使用してファイルに書き込む方法は次のとおりです。
BinaryReader を使用してファイルから読み取る方法は次のとおりです。
コードをデバッグすると、次のようになります。
ご覧のとおり、または表示されていない場合でも、"GroupHeader.ID" には "Groupfile" のみが含まれている必要があり、その中にゴミが含まれる長い文字列ではありません。
それで、私は何を間違っていますか?これは文字列形式のエラーですか?
c# - BinaryWriter を使用して usblp0 に書き込むノンブロッキング io
c# (mono) で会計プリンター (escpos) に印刷するプログラムを実行していますが、問題なく動作します。問題は、印刷すると、バッファがクリアされるまでプログラムがハングすることです。ご想像のとおり、画像をいくつか印刷するとサイズが大きくなり、しばらくハングします。これは望ましくありません。私は2つの方法でテストしました
片道:
第二の方法:
どちらの方法でも、プログラムが実行を継続することはできません。例: 印刷を開始して用紙がなくなった場合、プリンターが印刷を再開するまで停止しますが、これは正しい方法ではありません。
どうぞよろしくお願いいたします。
c# - BinaryReader の BaseStream の位置を変更すると、同じ BaseStream を使用する BinaryWriter の現在の状態にどのような影響がありますか?
ストリームを監視するパーサーに取り組んでいます(おそらくからNetworkStream
)。ソース ストリームに特定のデータが表示されると、新しいストリームMemoryStream
が作成され、ソースからの関連データが書き込まれます。
次に、 for parse を として解析する別のクラス メソッドに渡しMemoryStream
ます。このメソッドでは aが作成されます。実際にはデータの最後にあるため、データを読み取ろうとすると何もありません。MemoryStream
Stream
BinaryReader
BinaryReader
BinaryReader にはPosition
プロパティやSeek
メソッドがないため、下線のBaseStream
位置を変更する必要があります。位置が変更されると、ストリームを解析できます。
この場合、データを追加していないので問題ありません。しかし、同様の状況が発生し、追加のデータが書き込まれる場合、位置の値が背後で変更されたため、これが機能しない可能性があると思います。
ここでの意味については少しあいまいです。
書き込み側と読み取り側は、 のコピーBaseStream
とその位置、または元のオブジェクトの破損を許容していますか?
これは、ライターを作成すると同時にリーダーを作成する必要があることを意味しますBaseStream
か? これはより良い習慣かもしれないと思います。
BinaryReader と Writer は独自の位置情報を保持していますか? プロパティがそこにないからではありません。そうでない場合、同じスレッドで同時に使用できますか?
更新#1:その後撤回された回答とコメントに基づいて、混乱を少し明確にする必要があると思います。と の両方にBaseStream
プロパティがあります。ライターとリーダーの作成に使用されたストリーム オブジェクトを指していると思いました。両方に固有の単なるワーカーオブジェクトだと思い始めています。BinaryWriter
BinaryReader
ソースとして複数のタイプのストリームにオープンなままでいるため、ストリーム オブジェクトについてはあまり想定したくありません。
更新 #2:いくつかのテスト コードを実行すると、それらが接続されていることがわかります。データが書き込まれると、リーダーの位置に影響します。ストリームの次の部分を読んで、中断したところから再開できるように、リーダーが影響を受けないままにしておくと便利だと思いました。私は次のようなものを想像しました:
- データ イベントが発生します。このイベントにより、ライターによってデータが書き込まれます。
- ある時点で、リーダーはストリーム内のデータの一部を処理します。
- 別のイベントが発生して、さらにデータが書き込まれます。
- リーダーが既に作業しているデータに追加されます。
- リーダーは、新しいデータを含めて作業を終了します。
しかし、リーダーとライターの間で位置が機能する方法に基づいて、これはストリームが使用される方法ではありません。
おそらく私の概念の問題は、私の BaseStream が MemoryStream であり、ルールが NetworkStream の場合とは異なるためです。ストリームのソースの実装の詳細を読み取りクラスから除外しようとしていました。
この時点で、私は質問に対する答えを持っていると思います。ここで、ストリームを使用して頭の中にあるようなことを行うための情報を見つける必要があります。