• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイルをクローズしたい)

ファイルをクローズしたい

このQ&Aのポイント
  • Visual Studio 2010 VB.NETでファイルを書き込む際に、ファイルをクローズする方法を教えてください。
  • OpenTextFileWriterを使用してファイルにデータを書き込んだ後、ファイルを確実にクローズするにはどうすればいいですか?
  • Try, Catch, FinallyのFinallyブロックでファイルをクローズする方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#178500
noname#178500
回答No.3

オブジェクトの初期化をtryの中で記述すると、警告が出ますよ。

goldengolds
質問者

お礼

なるほど、警告のでる原因はそれだったのですね。先程試したら、警告とれました。ありがとうございました。

その他の回答 (3)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.4

> Dim tw As System.IO.TextWriter Dim tw As System.IO.TextWriter = Nothing > tw.Close() If tw IsNot Nothing Then tw.Close() とすればよい。 それよりUsing文で書くと簡単です。 Try   data = "abcd"   Using tw As TextWriter = My.Computer.FileSystem.OpenTextFileWriter(wfileNamePath, True, System.Text.Encoding.Default)     tw.WriteLine(data)   End Using Catch ex As Exception   MsgBox("エラー発生") End Try ※ End Usingで確実にDisposeが呼ばれるので、明示的にCloseする必要がない。 Usingステートメントで簡単、確実にファイルをクローズ http://www.atmarkit.co.jp/fdotnet/vb2005/vb2005_05/vb2005_05_01.html

goldengolds
質問者

お礼

usingの具体的使用方法、参考HPを教えていただきまして本当にありがとうございました。

回答No.2

通常はTry-Finallyの代わりにUsingを使えば事足ります。 Using tw As TextWriter = My.Computer.FileSystem.OpenTextFileWriter(wfileNamePath, True, System.Text.Encoding.Default) tw.WriteLine(data) End Using ただし,Catch節に相当するコードは書けないので,今回の場合は,Finally節を Finally If tw IsNot Nothing Then tw.Close() End Try とするのがよいでしょう。 # Try-CatchのTry節にUsingを入れてもよいですが。

  • 11zep
  • ベストアンサー率36% (48/133)
回答No.1

tw = My.Computer.FileSystem.OpenTextFileWriter(wfileNamePath, True, System.Text.Encoding.Default) をTryの前(上)に移動すればいいのでは?