問題タブ [streamwriter]
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# - File.Delete を使用してファイルを削除してから、Streamwriter を使用して同じファイルを作成しますか?
私の方法はファイルを適切に削除し、「realmlist.wtf」という名前のファイルを作成してから、それに行を書き込みますか?
実際にファイルを再度作成する行が見えないので、ちょっと混乱しています。それとも、StreamWriter を作成すると自動的にファイルが作成されますか?
c# - StreamWriter が既存のファイルに書き込んでいない
StreamWriter を使用してファイルにテキストを書き込もうとしており、FolderDialog で選択したフォルダーからファイルのパスを取得しています。ファイルがまだ存在しない場合、私のコードは正常に動作します。ただし、ファイルが既に存在する場合は、ファイルが他のプロセスによって使用されているという例外がスローされます。
今、私がこのように書くと:
既存のファイルで問題なく動作します。
.net - StreamWriter が NetworkStream にフラッシュされない
a を使用して aStreamWriter
に書き込み、NetworkStream
aを使用しStreamReader
て応答を読み取ります。アプリはニュース サーバーにコマンドを送信し、応答を読み取ります。
簡略化されたコード (エラー処理などを除く):
コードは最後の行でブロックされ、おそらくネットワーク ストリームが応答を送信するのを待っています。
を使用してタイムアウト ループを設定することでアプリのハングを回避できますserverReader.Peek()
が、常にタイムアウトします。私は決して応答を得ません。
サーバーとポートに telnet で直接接続してコマンドを入力すると、すぐに応答が返ってきます。
serverWriter.Flush()
プロパティを使用する代わりに明示的に呼び出すとAutoFlush
、ブロックされて応答が返されません。
このアプローチを使用してサーバーへの応答が得られない理由はありますか?
ありがとう!
解決済み:
上記のコードは私にとってはうまくいくので、戻ってそのコードに基づいて、機能しないコードを構築しました。
ハングするコードでは、まだ serverReader.Peek() でタイムアウト ループを使用していました。Peek() は、バッファに読み取るデータがあっても、常に -1 を返します!! Peek() ループを ReadLine() へのブロッキング呼び出しに置き換えると、問題が解決します。
アプリがマルチスレッドであり、ブロックしたくないため、タイムアウトループを最初に入れました。この問題を再検討し、Peek() を使用せずにスレッドのタイミングを解決する方法を確認する必要があります。
みんなありがとう、良い答え!
c# - StreamWriter.Close() が空のファイルを生成した後の電力損失はなぜですか?
わかりました、説明します。私は、いつでも電源障害が発生する可能性のあるシステムを開発しています。私がテストしているポイントの 1 つは、StreamWriter を使用してファイルを書き出した直後です。以下のコード:
shellConfigWriter
(List
文字列の a) の内容を一時的な保存場所として使用されるファイルに書き込み、それを元のファイルにコピーします。このコードの実行が終了すると、電源が失われ、バックアップを再開すると、ファイルGame.cfg
は存在し、正しいサイズですが、完全に空白になります。最初は、これはハード ドライブで書き込みキャッシュが有効になっているためだと思っていましたが、オフにしても発生します (頻度は低くなりますが)。
どんなアイデアでも大歓迎です!
更新:.Close()
わかりました。ステートメントを削除し、.Flush()
すべての書き込み操作の後に呼び出した後でも、ファイルは空白になります。さらに一歩進んで、新しいファイルを作成する前に元のファイルのバックアップを最初に作成し、完全性チェックを行うのに十分なバックアップを作成することもできますが、根本的な問題の解決には役立たないと思います (ファイルに書き込み、フラッシュして閉じるように指示すると...そうではありません!)。
asp.net - StreamWriter 応答出力が Excel ではガベージ アクセントを生成するのに、メモ帳では問題なく表示されるのはなぜですか?
別のスタック オーバーフローの質問の手法を使用してResponse
、ユーザーが開く/保存する出力にCSV ファイルを書き込みます。ファイルはメモ帳では問題なく表示されますが、Excel で開くとアクセント付きの文字がゴミになります。これは文字エンコーディングと関係があると思ったので、手動で UTF-8 ( のデフォルトStreamWriter
) に設定してみました。コードは次のとおりです。
Excel がアクセント付きの文字を表示できるように、ファイルを正しくエンコードするために他に何をする必要があるかについてのアイデアはありますか?
c# - C#asp.netで現在のユーザーのデスクトップにファイルを書き込みます
このコードを持っている場合、ネットワーク共有にアクセスできない他のユーザーがメソッドを実行しようとすると、問題が発生します。このメソッドで現在のユーザーのデスクトップにファイルを書き込むにはどうすればよいですか?
c# - c#HttpWebRequestPOSTの失敗
だから私は何かをウェブサーバーにPOSTしようとしています。
わかりました。エンコードされたデータのサイズに基づいてcontent-lengthを設定しています...とにかく、sw.flush()で失敗し、「ストリームに書き込まれるバイト数が指定されたContent-Lengthサイズを超えています」
StreamWriterは、私が気付いていない私の後ろで魔法をかけていますか?StreamWriterが実行していることをピアリングする方法はありますか?
vb.net - ファイルストリーム/ストリームライターで同時ファイルアクセスを処理する方法は?
ユーザーがアプリケーションを使用するときに、ユーザーごとにアプリケーション内のいくつかの変数のユーザー名、時間、および古い/変更された値を書き込む監査ファイルを作成しています。FileStream
およびを使用してStreamWriter
、監査ファイルにアクセスしています。各ユーザーのすべての監査は、同じファイルに書き込まれます。
問題は、2 人のユーザーがこの監査ファイルを同時に更新している場合、各変数の「古い値」がユーザー間で混同されることです。これはなぜですか?また、ここで同時実行性の問題をどのように解決できますか?
簡潔にするために短縮されたいくつかのコード...
これは、インスタンス変数を介して参照される AuditLogger クラスに存在します (関数がアクセスされるたびに再割り当てされます)。
c# - Streamwriter: ポーランド語の文字はスキップされますか?
私は、SAP インストールと Axapta インストールの間でデータを変換する人を支援する小さなツールを作成しようとしています。
西ヨーロッパ (Windows) エンコーディング (1252) のテキスト ファイルを取得します。彼らはいくつかのポーランド語の文字を置き換えるためにいくつかの特別な文字を入れました. これらの特殊文字を正しいポーランド文字に置き換えるのが私の仕事です。
アプリケーションをデバッグし、「objTemp2.WriteLine(strLineText);」にブレークポイントを設定すると、ライン。次に、strLineText 変数内の値が完全であることを確認できます。特殊文字は、正しいポーランド文字に置き換えられます。
書き込んだファイルを後で開くと、正しいポーランド語の文字が見つかりません。「ś」と「Ś」を使用していますが、どちらも「s」と「S」としてファイルに保存されています。
私は何かを見逃しましたか、それとも非常に重要な何かを見落としましたか?
c# - .NET でファイルの途中に行を追加する
こんにちは、私は何かに取り組んでおり、.txt ファイルにテキストを追加できるようにする必要があります。これは完了しましたが、小さな問題があります。多かれ少なかれ、ファイルの途中に文字列を書き込む必要があります。例:
うまくいけば、誰かが解決策を手伝ってくれるでしょう。
編集わかりましたありがとう、私はそれを理解しようとします.おそらくファイル全体を書き直すだけです. さて、私が作成しているプログラムはホストファイルに関連しており、誰もが同じホストファイルを持っているわけではないので、ホストファイルを読み取り、文字列を追加しながらすべてをコピーする方法があるかどうか疑問に思っていました?