
排他ロックが掛かっている(別のプロセスが使用している)
テキストファイルを読み込みたいのですが、
System.IO.FileStreamを実行した後に、IOExceptionエラーが発生し、
読み込みができません。
System.IO.FileStreamにはこだわってませんので、
排他ロックが掛かっているテキストファイルを読み込む方法を
ご存知の方は、ご教授頂けませんでしょうか。
宜しくお願いします。
<ソースコード>
'ファイルパス
wFullPath = "\\XXX.XXX.XXX.XXX\TEXT\TEST.TXT"
(XXX.XXX.XXX.XXX:IPアドレス)
'ファイルを開く
Dim fs As New System.IO.FileStream(wFullPath, _
System.IO.FileMode.Open, _
System.IO.FileAccess.ReadWrite, _
System.IO.FileShare.ReadWrite)
'FileStreamを基にしたStringReaderのインスタンスを作成
Dim enc As System.Text.Encoding = _
System.Text.Encoding.GetEncoding("shift_jis")
Dim sr As New System.IO.StreamReader(fs, enc)
'ファイルの内容をすべて読み込む
Dim s As String = sr.ReadToEnd()
<開発環境>
言語:VB.NET
Microsoft Visual Studio 2008
Microsoft .NET Framework Version 3.5 SP1
A 回答 (3件)
- 最新から表示
- 回答順に表示

No.3
- 回答日時:
全然詳しくないですが。
ロックかけてる人が「リードもライトも許可してない」ので
リードのみでも許されない、という事では。
そうなら、ロックかけてる人が「リードは許可する」にでも変更しない限り無理かと。
http://dobon.net/vb/dotnet/file/fileshare.html
回答ありがとうございます。
確かにumamimiさんのおっしゃる通りだと思います。
ロックをかけているのは他社で開発したシステムなので、
開発元がOKを出さないと難しいです。
No.2
- 回答日時:
こんばんは。
あれ?
ダメですか・・・?
>System.IO.FileShare.Read
これは元のままでよさげ。
>IOExceptionエラーが発生しました。
派生クラスじゃなくて?
エラーコードとエラーメッセージはなんて出てますか?
<エラーコード> 57
<エラーメッセージ>
別のプロセスで使用されているため、プロセスはファイル
'\\\XXX.XXX.XXX.XXX\TEXT\TEST.TXT' にアクセスできません。
と出ています。
No.1
- 回答日時:
こんにちは。
単に読み込みだけなら、
ReadWrite
じゃなくて
Read
にしては?
早速の返事ありがとうございます。
試してみましたが、結果は同じでした。
IOExceptionエラーが発生しました。
(以下のソースを実行)
'ファイルを開く
Dim fs As New System.IO.FileStream(wFullPath, _
System.IO.FileMode.Open, _
System.IO.FileAccess.Read, _
System.IO.FileShare.Read)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「パス名が無効です」の発生原因
-
Excel 2003 のエラーメッセージ
-
access テキストボックスの値取得
-
【関数】同じ関数なのに、エラ...
-
エクセルで質問です。 ハイパー...
-
エクセル VBA dll 読み込...
-
Excel VBAのApplication.Execut...
-
FTPの送信結果を検知したい
-
ExcelVBAで既に開いてるwordを...
-
EXCEL VBAで複数人でのADO接続...
-
fcloseで発生するエラーについて。
-
CSVファイルが開かれているかど...
-
アクセスのクエリでコンパイル...
-
VBA ExecuteExcel4Macro 型が一...
-
【COBOL】read文でエラー
-
郵便番号を表示させる関数のエ...
-
VBから参照できないCのDLLを使...
-
排他ロックが掛かっているファ...
-
VB6 Dir関数で52エラー発生
-
NAS上のファイルの使用中が解除...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【関数】同じ関数なのに、エラ...
-
access テキストボックスの値取得
-
エクセルで質問です。 ハイパー...
-
「パス名が無効です」の発生原因
-
PowerShellを使って関連付けら...
-
NAS上のファイルの使用中が解除...
-
gccを行ってもexeファイルが生...
-
アクセスのクエリでコンパイル...
-
ExcelVBAで既に開いてるwordを...
-
Returnに対するGoSubがありません
-
VB6 Dir関数で52エラー発生
-
VBでファイルが開かれているか...
-
データベースソフトのアクセス2...
-
エクセルマクロでエラーの原因...
-
fcloseで発生するエラーについて。
-
batファイルでレジストリキーの...
-
FORTRANの実行エラーについて
-
VBから参照できないCのDLLを使...
-
【COBOL】read文でエラー
-
DisplayAlertsブロパティで ”実...
おすすめ情報