問題タブ [streamreader]

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

c# - 複数の TextReaders を一緒にストリングする方法は?

StreamReaders と StringReaders の組み合わせである 3 つの TextReaders があります。概念的には、それらを連結すると 1 つのテキスト ドキュメントになります。

単一の TextReader を受け取るメソッド (自分の制御下にない) を呼び出したい。複数の TextReader から連結 TextReader を作成する組み込みまたは簡単な方法はありますか?

(独自の TextReader サブクラスを作成することもできますが、かなりの作業量のように見えます。その場合は、それらすべてを一時ファイルに書き込んでから、単一の StreamReader で開くだけです。)

私が見逃しているこれに対する簡単な解決策はありますか?

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

c# - ファイルの終わりにある固定長マーカーを確認してください

後片付けを任されたアプリケーションがあります。アプリケーション自体は比較的単純です。SQLクエリを実行し、Webサービスを使用して、結果をログファイルに出力します。私の仕事は、アプリケーションが完了した後、ファイルをNASにアーカイブすることです。ファイルが完了するまでファイルを排他的にロックするため、少し複雑になります。また、ログだけで、アプリケーションに触れることは許可されていません。とにかく私のアプリケーションはかなり単純です:

  1. ファイルを開くことができるかどうかを確認し(IOExceptionをキャッチ)、例外がスローされない場合は、bool[]でアクセス可能としてマークを付けます。
  2. trueとマークされたファイルの配列を調べ、ReadLineメソッドを使用してファイルの各行をStreamReaderに読み込みます。アプリケーションが一時的に中断して終了しないことがあるため、IOExceptionを使用して、ファイルが完了したかどうかを判断することはできません。実際にテキストを解析する必要があります。
  3. 完了を示すテキストが見つかった場合は、ファイルをzip形式で圧縮し、アーカイブされたファイルをNASにロードして、元のファイルを削除します。

私のコードは機能しますが、非常に時間がかかります(ログファイルはそれぞれ約500 MBです)。改善についての私の考えは、ファイルの上部からではなく下部から検索を開始することですが、StreamReaderはそのような方法をサポートしていません。ReadToEndメソッドを使用してから逆読み取りを行うことはできません。これは、メモリ不足の例外がスローされるだけだからです。ログファイルの解析を高速化する方法について何か考えはありますか?

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

c# - .NETおよびC#でWebサイトからデータを取得する際の問題

ページのリストに移動し、すべてのhtmlをファイルに書き込むWebスクレイピングプログラムを作成しました。問題は、テキストのブロックをプルすると、一部の文字が「�」と書かれることです。これらの文字をテキストファイルに取り込むにはどうすればよいですか?これが私のコードです:

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

c# - StreamReader.EndOfStreamはIOExceptionを生成します

</File>TCP接続を受け入れ、マーカーが読み取られるまでデータを読み取り、そのデータをファイルシステムに書き込むアプリケーションに取り組んでいます。切断したくないので、クライアントにデータを送信させて、1つの接続で複数のファイルを送信できるようにします。

アウターループの周りを使用してStreamReader.EndOfStreamいますが、クライアントが切断するとIOExceptionがスローされます。これを行うためのより良い方法はありますか?

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

c# - C# StreamWriter と StreamReader のメモリ管理の問題、メモリの使用が解放されないのはなぜですか?

したがって、MemoryStream を使用して StreamWriter とこのアプリケーションの内部に書き込む StreamReader を使用していますが、メモリ使用量が (より大きな入力の 1 つから) 300mb 増加し、使用が終わった後に割り当てを解除しません:

これの前と RAM 使用量を取得した直後で、前は後よりも 300 MB 少なくなっていますが、その理由はわかりません。ここで起こっているのは、リーダーからのデータがテキストファイルに配置されていることだけであることを考慮して、そのメモリを解放するために考えられるすべてのことを行いました。なぜ大量のメモリを使用する必要があるのか​​ わかりません一時的に。不足しているものはありますか?...ありがとう。

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

c# - StreamReader から最初の行を削除する方法はありますか

csvfile をロードする streamreader があります。問題は、無視したいデータの先頭に余分な行が 1 つあることです。

私は素晴らしいCSVReaderプロジェクトを使用していますが、

常に最初の行を見ます。CSVReader のソース コードにアクセスして変更する代わりに、ストリームリーダー自体からこの最初の行を "削除" してから、csvReader に挿入する方が簡単だと思いました。これは可能ですか?

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

c# - C# の StreamReader とバッファ

StreamReader でのバッファの使用について質問があります。ここ: http://msdn.microsoft.com/en-us/library/system.io.streamreader.aspxを見ることができます:

「ストリームから読み取るときは、ストリームの内部バッファーと同じサイズのバッファーを使用する方が効率的です。」.

このウェブログによると、StreamReader の内部バッファ サイズは 2kRead()ですRead(Char[], Int32, Int32)

さらに、ファイルが大きい場合でも、バッファのサイズを渡す StreamReader を構築できます

では、外部バッファの必要性は何ですか?

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

c# - シリアル化されたオブジェクトを既存のxmlドキュメントと組み合わせて返しますか?

シリアル化されたオブジェクトを既存のxmlドキュメントと組み合わせて、それをWebサービスとして返す方法を見つけようとしています。

よろしくお願いします。

サンプルコード:

0 投票する
6 に答える
124 参照

c# - C#プログラムのインストールにバンドルしたファイルをロードするにはどうすればよいですか?

私はこのようなことをする必要があります:

ユーザーがプログラムをどこにインストールしたかわからない場合を除いて。私のプログラムは、インストールされたファイルがどこにあるかをどのように知ることになっていますか?

あなたが気づかなかった場合に備えて、私は初心者です。

0 投票する
23 に答える
706944 参照

.net - 埋め込みリソーステキストファイルの読み方

StreamReader埋め込みリソース (テキスト ファイル) を読み取り、文字列として返すにはどうすればよいですか? 現在のスクリプトでは、埋め込まれていないテキスト ファイル内のテキストをユーザーが検索して置換できる Windows フォームとテキスト ボックスを使用しています。