問題タブ [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 投票する
9 に答える
20027 参照

c# - .NET C#-テキストファイルのランダムアクセス-簡単な方法はありませんか?

その中にいくつかの「レコード」を含むテキストファイルがあります。各レコードには、名前とデータとしての番号のコレクションが含まれています。

ファイルを読み取り、すべてのレコードの名前のみを表示し、ユーザーが必要なレコードデータを選択できるようにするクラスを構築しようとしています。

初めてファイルを調べるときは、ヘッダー名のみを読み取りますが、ヘッダーが存在するファイル内の「位置」を追跡できます。ユーザーが要求した後、各レコードの先頭を探すために、テキストファイルにランダムアクセスする必要があります。

ファイルが大きすぎて、アプリケーションの他のメモリ要求とともにメモリ(1GB以上)に完全に読み込むことができないため、この方法で行う必要があります。

これを実現するために.NETStreamReaderクラスを使用してみました(これは非常に使いやすい「ReadLine」機能を提供しますが、ファイルの実際の位置をキャプチャする方法はありません(BaseStreamプロパティの位置はクラスが使用するバッファ)。

.NETでこれを行う簡単な方法はありませんか?

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

c# - StreamReader の問題 - 不明なファイル エンコーディング (ウェスタン iso 88591)

入力ファイルからデータを読み取るときに、\ 記号が StreamReader によって読み取られていないことに気付きました。Mozilla Firefox では、入力ファイルの種類が Western (ISO-8859-1) として表示されました。

エンコーディング パラメータをいじってみると、次の値で正常に機能することがわかりました。

現在、「デフォルト」設定を使用することを計画していますが、これが正しい決定であるかどうかはよくわかりません. 既存のコードはエンコーディングを使用していないため、何かを壊すのではないかと心配しています。

私はエンコーディングについてほとんど(またはまったく)知りません。どうすればいいですか?System.Text.Encoding.Default を使用するという私の決定は安全ですか? ファイルを特定の形式で保存するようにユーザーに依頼する必要がありますか?

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

c# - .NETでStreamReader.ReadLine()によって読み取られる文字数を制限するにはどうすればよいですか?

私はC#でWebサーバーアプリケーションを作成し、StreamReaderクラスを使用して基盤となるNetworkStreamから読み取ります。

このコードはDoS攻撃を受けやすいです。攻撃者が切断しないと、行の読み取りが終了しないためです。.NETでStreamReader.ReadLine()によって読み取られる文字数を制限する方法はありますか?

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

c# - ループが 100% の CPU を使用し、終了しないのはなぜですか?

私はこの方法を持っています:

そして、プロセス (cmd.exe) からストリームを読み取ります。ユーザーが cmd.exe ウィンドウを閉じると、CPU 使用率が 100% に跳ね上がります。デバッガーで遊んでいると、sr.ReadLine() で停止し、戻ってこないことがわかります。これは StandardErrorStream と StandardOutputStream の両方を監視しているため、両方のコアで 100% を使用します。

必要に応じて、プロジェクトのコードをさらにいくつか示します。

もう 1 つの興味深い点は、想定どおりにコマンド ウィンドウが常に非表示になるとは限らないことです。最初は非表示にしますが、2 回目 (またはそれ以降) は非表示にしません。これは、ユーザーが cmd.exe ウィンドウを閉じて、readline の動作がおかしくなる場合です。また、終了しない限り、cmd に出力された最後の行を読み取ることはありません。

これを修正する方法について何か提案はありますか?

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

sql-server - SSIS VBScript で EOF を指定するにはどうすればよいですか?

SSIS VBScriptでファイルの終わりまで読み取るための構文は何ですか?

編集:実際には、ファイルの最後の行の値を取得しようとしています。そのため、EOF ではないまで読み取ることは、ファイルの最後まで読み取ることとまったく同じではありません。しかし、私はあまりにも多くをカットしたので、サンプルコードは貧弱でした。

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

text - .NETのファイルのコンテンツタイプを確認するにはどうすればよいですか?

ファイル名が与えられ、ディスクからそのファイル名を読み取って、その内容をネットワーク経由で送信できる必要があります。ファイルがテキストかバイナリかを判断できる必要があるので、StreamReaderとBinaryReaderのどちらを使用するかがわかります。コンテンツタイプを知る必要があるもう1つの理由は、コンテンツタイプがバイナリの場合、データをネットワーク経由で送信する前にデータをMIMEエンコードする必要があるためです。また、コンテンツタイプが何であるか(テキストの場合はエンコーディングを含む)を消費者に伝えたいと思います。

ありがとう!

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

asp.net - .NET StreamReader が閉じない

ASP.NET Web アプリケーションのテンプレートとして RTF ファイルを使用しています。私の VB.NET コードは、StreamReader を使用してファイルを読み取り、いくつかの文字列を置き換えて、データベースからのデータで新しい Word ドキュメントを作成します。私のコードは、StreamReader を閉じて破棄します。しかし、改訂した RTF ファイルを Web サーバーにアップロードしようとすると、「ファイルを書き込み用に開くことができません」というエラーが表示されます。したがって、明らかに、ASP.NET ページが実行された後もファイルは開いたままです。

StreamReader を強制的に閉じるにはどうすればよいですか? web.config ファイルを編集して Web アプリケーションを強制的に再起動しても、このファイルのロックを解除するには不十分です。

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

c# - CDATA 要素を効率的にエンコードする方法

OK、StreamReader を使用してストリームからデータを読み取っています。ストリーム内のデータは xml ではなく、何でもかまいません。

入力 StreamReader に基づいて、XmlTextWriter を使用して出力ストリームに書き込みます。基本的に、出力ストリームには、親要素に含まれる要素にラップされた入力ストリームからのデータが含まれます。

私の問題は 2 つあります。データは入力ストリームからチャンクで読み取られ、StreamReader クラスは char[] を返します。入力ストリームのデータに「]]>」が含まれている場合、2 つの CDATA 要素に分割する必要があります。まず、char 配列で "]]>" を検索するにはどうすればよいですか? 次に、チャンクで読み取っているため、"]]>" 部分文字列が 2 つのチャンクに分割される可能性があります。

おそらく、char[] を文字列に変換し、検索置換を行うことができます。それは私の最初の問題を解決するでしょう。読み取るたびに、最後の文字が「]」であるかどうかを確認することもできたので、次の読み取りで最初の 2 文字が「]>」であれば、新しい CDATA セクションを開始します。

これは、char 配列を文字列に変換する必要があるため、ほとんど効率的ではありません。つまり、データのコピーに時間がかかり、2 倍のメモリを消費します。スピードに関してもメモリに関しても、より効率的な方法はありますか?

0 投票する
5 に答える
2712 参照

c# - How to Display the Contents from StreamReader directly on Notepad?

Is there a way to display the contents from memory directly in a Notepad window?

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

c# - StreamReaderを使用するときに、ファイルの読み取りを開始する場所をどのように指定しますか?

StreamReaderを使用するときに、ファイルの読み取りを開始する場所をどのように指定しますか?

ファイルストリームオブジェクトとともに、streamreaderオブジェクトを作成しました。両方のオブジェクトが作成された後、StreamReaderがファイルからの読み取りを開始する場所をどのように制御しますか?

ファイルの内容が次のようになっているとしましょう。

ストリームリーダーを制御して、たとえば#2から読み取るにはどうすればよいですか?また、#5のような同様の区切り文字で読み取りを停止する場所を制御するにはどうすればよいですか?

編集:区切り文字とは、StreamReaderが( '2.')から読み取りを開始するようにする方法です。