VB.netで使用中のテキストファイルを開こうとすると共有違反のエラーが発生します。
メモ帳では開くことができるのに、開くことができないといった場合は、StreamReaderを使えば開くことができます。
スポンサーリンク
次のようなエラーメッセージを回避する方法に関して説明します。
System.IO.IOException: 別のプロセスで使用されているため、プロセスはファイル '○○' にアクセスできません。
具体的には、FileStreamをOpenするときに、
FileMode:Open
FileAccess:Read
FileShare:ReadWrite
とします。
ソースコードは以下です。
Dim sFileName As String = "[読み取るファイルのパス]" Dim sText As String Dim objFS As IO.FileStream Dim objSR As IO.StreamReader objFS = IO.File.Open(sFileName, IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.ReadWrite) objSR = New IO.StreamReader(objFS, System.Text.Encoding.GetEncoding(932)) 'ここで内容を読取ります。 sText = objSR.ReadToEnd objSR.Close() objFS.Close()
この方法を使って、パソコン遠隔操作ソフトのチームビューアーのIDを確認するコードを書いてみました。
→TeamViewerIDをVB.netで確認する方法