2017-10-17 5 views
-2

なぜこれが機能しないのかわかりません。私は自分のウェブフォーム上のボタンにこれを持っています。シンプルなストリームライターが書き込みしない

テキストボックスに何かを入力して[保存]ボタンをクリックすると、何も起こりません。ファイルが前もって存在するかどうかは関係ありません。

私が逃したものは本当にわかりません。私は書いた行の後にストリームライターを閉じようとしましたが、それはどちらもうまくいかないようです。私のフォームに変更が必要なものがあるかどうかは疑問です。

+1

コードの行を交換してください: 'sw.Flush();'を最後に呼び出す必要があります。 –

+1

あなたが何か書いた前にライターを洗い流すことは意味がありません。しかし何も傷つけてはいけません。あなたが投稿したコードは、それが行く限り "良い"です。だからあなたの問題が何であれ、それはあなたが投稿したコード以外のものと関連しています。コンテキストがなければ、単にボタンのClickイベントに登録できなかったのか、何らかのファイルアクセス権の問題があるかどうかを知る方法はありません。ブレークポイントを設定してコードをデバッグするだけで、実際に何が行われているかを確認する必要があります。ここで助けが必要な場合は、問題を確実に再現する良い[mcve]を提供する必要があります。 –

+1

@Maxim:最初にフラッシングするのは便利ではありませんが、どちらもフラッシングを書き込み後に移動しません。ライターを閉じると(実行がコードのブロックを離れるときに '使用する ')、ライターもフラッシュされます。 –

答えて

1

例外がなければこのコードとなります。これは、あなたがここに表示されていない間違いをしていることを意味します。たぶんあなたは間違ったドライブを見ているでしょう。または、あなたは例外に気づいていません(何となくそれらを飲み込む)。たぶん、txtDescription.Textにあなたの期待するものが含まれていないのでしょうか?このコードをデバッガでシングルステップ実行し、swの直後にそのファイルをチェックしてください。

私はあなたに特定の間違いを伝えることはできませんが、私はあなたに他の場所を見て、あなたが見たものを正しく解釈していることを確認するように指示できます。

File.WriteAllTextに電話する方が簡単ですが、間違いを修正することはできません。

-2

はこれを試してみてください:

StreamWriter OUTPUT; 
string myfile = "C:\\temp\\test.txt"; 
OUTPUT = File.CreateText(myfile); 
OUTPUT.WriteLine(txtDescription.Text); 
OUTPUT.Close(); 

それは "File.CreateText" 方法を使用したことを除いて、あなたのコードに非常によく似ています。 希望する場合は

関連する問題