問題タブ [binaryreader]
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# - EndianBinaryReader - 入力ストリームの継続的な更新?
Jon Skeet がその他のutils libの一部として書いたEndianBinaryReader
andを使用しようとしています。それは私がそれを作った2つの用途に最適です.EndianBinaryWriter
ネットワーク ストリーム ( TCPClient
) からの最初の読み取りでは、入ってくるデータをループで読み取ります。単一のデータを作成してEndianBinaryReader
、アプリケーションのシャットダウン時に破棄することができます。EndianBinaryReader
を渡すことでを構築TCPClient.GetStream
します。
UdpClient から読み取るときに同じことを実行しようとしていますが、接続が少ないため、これにはストリームがありません。だから私はそのようにデータを取得します
このデータをメモリストリームに入れることができます
次に、EndianBinaryReader
ただし、これは、読み取りを行うたびに新しいエンディアン リーダーを作成する必要があることを意味します。udpクライアントからのデータで入力ストリームを更新し続けることができる単一のストリームを作成できる方法はありますか?
c# - C# の Excel 2007 ファイル ライターでファイルが破損する
BinaryReader を使用して、OWA を使用して Exchange メールボックスから Excel 2007 ファイルを読み取っています。その後、ファイルは BinaryWriter を使用してディスクに書き込まれます。私の問題は、ライターが終了したときに 2 つのファイルが一致しないことです。さらに悪いことに、Excel 2007 は書き込んだファイルを開けません。
以前の Excel 2003 では、以下のソリューションで問題はありませんでした。ファイルが Excel 2003 形式のファイルである場合、Excel 2007 には問題がなく、ファイル形式が Excel 2007 (*.xlsx) である場合のみです。
バイナリリーダー:
BinaryWriter:
提案を喜んで受け取りました。
c# - C# プロセス バイナリ ファイル、マルチスレッド処理
バイナリ ファイルを処理する次のコードがあります。スレッドを使用し、バイナリ ファイルの各行を ThreadPool 内のスレッドに割り当てることで、処理負荷を分割したいと考えています。各行の処理時間はわずかですが、数百行を含む可能性のあるファイルを処理する場合、ワークロードを分割することは理にかなっています。
私の質問は BinaryReader とスレッド セーフに関するものです。まず第一に、私がやっていることは許容範囲内です。PROCESS_Binary_Return_lineData メソッドには、各行のバイナリのみを渡す方がよいと感じています。
以下のコードは概念的なものであることに注意してください。マルチスレッドに関する私の知識はまだ始まったばかりなので、これに関する少しのガイダンスを探しています。おそらく、同じ結果を達成するためのより良い方法、つまり各バイナリ行の分割処理があります。
c# - Request.Files、StreamReader、BinaryReader、または BufferedStream からアップロードされたファイルを読み取る最良の方法は何ですか?
ユーザーが複数のファイルをアップロードできるフォームがあります。私は MVC 2.0 を使用しており、コントローラーで、一般的なインポート インターフェイスである Web サービスを呼び出す必要があり、ファイルを byte[] として渡す必要があります。
.NET は Request.Files を HttpFileCollectionBase として公開し、Stream メンバーへのアクセスを提供する HttpPostedFile または HttpPostedFileBase を使用してファイルハンドルにアクセスします。
ストリームからバイトを読み取る最良の方法は何ですか?
バイナリリーダー? ストリームリーダー? バッファストリーム?
c# - BinaryReader で 16 バイトの符号なし整数を正しく読み取る方法
16 バイトの符号なし整数を変換するには、.NET でバイナリ ストリームを解析する必要があります。BinaryReader.ReadUIntXX() 関数を使用したいのですが、利用できる BinaryReader.ReadUInt128() 関数がありません。ReadByte 関数を使用して独自の関数をロールし、配列を作成する必要があると思いますが、これが最も効率的な方法かどうかはわかりません。ありがとう!
c# - パフォーマンス: MemoryStream で BinaryReader を使用してバイト配列を読み取るか、直接読み取るか?
バイト配列 ( ) から作成されたBinaryReader
を使用すると、パフォーマンスが大幅に低下するかどうかを知りたいです。MemoryStream
byte[]
読み取りたいバイナリ データがあり、そのデータをバイト配列として取得します。私は現在、データを読み取るための 2 つのアプローチのどちらかを決定しており、それに応じて多くの読み取り方法を実装する必要があります。各読み取りアクションの後、読み取りデータの直後BinaryReader
の位置が必要になるため、 . 最初の非 BinaryReader アプローチ:
2 番目のアプローチ:
このようなRead()
メソッドは、すべてのデータが読み取られるまで、同じデータに対して連続して非常に頻繁に呼び出されます。
を使用するBinaryReader
と、より自然に感じられますが、パフォーマンスに大きな影響がありますか?
c# - 位置 x から始まる y 値のバイナリ ファイルから short を読み取るにはどうすればよいですか?
特定の位置から開始して、バイナリ ファイルから一定量の短い (int16) データ ポイントを読み取る必要があります。ありがとう!
c# - 私はvbとC#で正確なコードを書きましたが、同じようには機能しません...ロジックは同じです...私は願っています
C#は初めてで、自分の能力を少し広げようとしています。私はVBにこのコードを持っています:
今これは私がC#で持っているものです
VBウェイはバイナリリーダーを正しく読み取り、次の位置に正しくインデックスを付けます... C#ウェイはそうではありません。最初の反復後にトラックを失います...なぜですか?
助けてください。
c# - 不明な量の構造を含むバイナリ ファイルの読み取り (C#)
さて、現在、次のような不明な数の構造体を含むバイナリ ファイルがあります。
これまでのところ、次を使用してすべての構造体を List<> に読み込みます。
一度に 1 つの構造体しかユーザーに表示できないため、一度に複数のレコードを読み取る意味がないため、これはあまりしたくありません。したがって、次のようなものを使用して特定のレコードを読み取ることができると考えました。
しかし、sTestStruct のサイズがわからないため、配列のサイズを事前に定義することはできません。
c# - C#.NETでのカスタムバイナリデータ形式の読み取り
.NETでAutoCADのDWGファイル用の簡単なリーダーを作成しようとしています。実際にファイル内のすべてのデータにアクセスする必要はないので、ファイル形式全体のリーダー/ライターの作成に伴う複雑さは問題になりません。
バージョン、すべてのヘッダーデータ、セクションロケーターレコードなどの基本を読み取ることができましたが、実際のセクションの読み取りに問題があります。
この問題は、フォーマットがいくつかのデータ型を格納するカスタムメソッドを使用しているという事実に起因しているようです。私はここで仕様に従っています:
http://www.opendesign.com/files/guestdownloads/OpenDesign_Specification_for_.dwg_files.pdf
具体的には、個々のビットの読み込みに依存するタイプは、私が読み取るのに苦労しているタイプです。問題の大部分は、C#のBinaryReaderでは一度に全バイト単位でしか読み取れないことです。実際、一度に8ビットや倍数ではなく、個々のビットで読み取る機能が必要だと思います。
仕様とその解釈方法を誤解している可能性がありますが、ストリームから個々のビットを読み取る方法、または上記の仕様の変数タイプの一部を読み取る方法を誰かが明確にできれば、単にフルバイトを読み取るよりも複雑なビット操作が必要な場合は、それが優れています。
私はこれのためにそこに商業図書館があることを知っています、しかしそれらのすべての価格は単に手元の仕事のために正当化するには高すぎます。
どんな助けでも大歓迎です。