自分用のお土産

C#2.0を使って書き込みができるファイルかどうかを判定する方法を探しております。書き込み可能ファイルであっても、以下のパターン2のような場合には書き込みができないわけですが、パターン1なのかパターン2なのかをC#のコードにより判別したいと考えています。

(パターン1)
テキストエディタ1でファイル1を開き、その状態でテキストエディタ2で同じファイル1を開く。エディタ2でファイルを変更・保存してエディタ1をアクティブにすると、他のソフトで変更された旨の表示が出て、変更を反映することができる。

(パターン2)
例えばexcelでCSVファイルを開き、同じCSVファイルをテキストエディタで開く。その状態ではエディタによりファイルを変更・保存することができない。

ご存じの方がいらっしゃいましたらご教授お願いします。

A 回答 (1件)

実際に、ファイルを開いてみるしかないんじゃないかなあ。


1.対象ファイルがあるかどうかチェックして
2.1があった場合ファイルの属性チェック
3.2.が読み込み専用でなければ、実際にファイルを
WRITEモードで開いてみる→失敗ならパターン2。
成功ならパターン1。

C#は良く知りませんので、具体的なコードは提示できませんが、
アイデアだけ。

あと、こんなのあった。
http://support.microsoft.com/kb/172240/ja
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございます。writeモードで開いてみる、排他モード、が糸口になりそうです。参考urlもありがとうございました。さらに調べてみます。

お礼日時:2007/10/10 04:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!