• ベストアンサー

2008で「別のプロセスで使用されているため、プロセスはファイル'○○○' にアクセスできません

VB2008初心者です。 System.IO.StreamReaderを使って、あるテキストファイルを1行ずつ読み込み、それを配列に格納し、配列データを修正したうえで、次にSystem.IO.StreamWriterを使って同じテキストファイルに配列のデータを書き込むというプログラムを組んでいます。 ところが、ビルドすると「別のプロセスで使用されているため、プロセスはファイル 'C:\Management Student\personal.txt' にアクセスできません。」というメッセージが表示されてしまいます。 このメッセージの原因と対処方法をご存知の方、教えていただけないでしょうか。

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

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

Closeと一緒にDisposeもしたほうがよいですね。 ファイルの読み書きにはUsingステートメントを使うとよいかと。CloseやDisposeを明示的に呼び出さなくてもUsing~End Usingから抜けたときに自動的に処理してくれます。 Using reader As New System.IO.StreamReader("hoge.txt") ' 読み込み End Using ' 配列の変更 Using writer As New System.IO.StreamWriter("hoge.txt") ' 書き込み End Using

makochan07
質問者

お礼

そうなんですね。勉強になりました。ありがとうございます。

その他の回答 (2)

  • talosoft
  • ベストアンサー率26% (6/23)
回答No.2

[reader].Close を忘れる場合が多いですね。 StreamReaderを使った跡はかならずCloseします。

makochan07
質問者

お礼

確認してみます。ありがとうございました。

  • dr-9
  • ベストアンサー率47% (24/51)
回答No.1

読み込みをした後、一度クローズしてから書き込みをしてみては。

makochan07
質問者

お礼

確認してみます。ありがとうございます。

関連するQ&A