- PR -

フォルダかファイルかのチェック

1
投稿者投稿内容
kazurock
常連さん
会議室デビュー日: 2005/01/24
投稿数: 40
投稿日時: 2005-11-11 16:58
ファイル操作をする際に取得したパスがフォルダなのかファイルなのかを
チェックする方法はありますか??
System.IO.Directory.Exists(パス名)
System.IO.File.Exists(パス名)
これにうまく使いたいのですが・・・。

拡張子があるかないかの判断が出来るのでしょうか?
それからクラサバではなく、WEBでの開発をしてるのですが
System.IO.Directory.Exists(パス名)
System.IO.File.Exists(パス名)
を使った際はローカルで存在チェックをするのではなく
どこか違うところで存在チェックをしているのでしょうか?

御教授お願いします。
[ メッセージ編集済み 編集者: kazurock 編集日時 2005-11-11 16:59 ]

[ メッセージ編集済み 編集者: kazurock 編集日時 2005-11-11 17:18 ]
でっち6号
大ベテラン
会議室デビュー日: 2005/01/31
投稿数: 176
お住まい・勤務地: Kawasaki
投稿日時: 2005-11-11 17:39
こんにちは、でっちです。

ちょっと何をされたいのか、イマイチ読み取れなかったのですが、
Exists自身がそれを判定するものではないでしょうか?
・System.IO.Directory.ExistsがTrueならフォルダ
・System.IO.File.ExistsがTrueならファイル
・共にFalseなら無効なパス
と言う判定で問題ないのではありませんか?
どちらも無効なパスを引数にしても例外なんて発生しませんし。

ちなみに引数に指定するものはどちらもローカルパスになります。
これはWeb開発時でも変わりません。
Web開発時に相対パスを使用するのであれば、MapPathでローカルパスに変換してあげる必要があります。
[ダウト]
リファレンスによると相対パスでもOKとのことです。
昔の奇妙な経験で勘違いしてたみたいです。申し訳ない。
[/ダウト]

#妙な誤解をしていたら、申し訳ありません。

[ メッセージ編集済み 編集者: でっち6号 編集日時 2005-11-11 21:04 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-11 17:48
ファイルの存在をチェック して、そのファイルの属性を取得 して、
System.IO.FileAttributes.Directory 属性があれば、ディレクトリ (フォルダ) です。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
kazurock
常連さん
会議室デビュー日: 2005/01/24
投稿数: 40
投稿日時: 2005-11-11 17:54
返答ありがとうございます。
今いちどう言っていいかわからなかったので・・・。
参考になりました。早速試してみます。
それから

 ちなみに引数に指定するものはどちらもローカルパスになります。
 これはWeb開発時でも変わりません。
 Web開発時に相対パスを使用するのであれば、MapPathでローカルパスに変換してあげ る必要があります。

とありますが、MapPathとはなんでしょうか?
また、どの用に変換すればいいのか教えてください。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-11 17:59
引用:

kazurockさんの書き込み (2005-11-11 17:54) より:

MapPathとはなんでしょうか?
また、どの用に変換すればいいのか教えてください。


メソッドの基本的な使い方はすべてリファレンスにあります。

  Page.MapPath メソッド

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2005-11-11 18:05
こんにちは。

実はローカル(クライアント)にあるファイルのパスをブラウザに渡して、サーバがファイルかフォルダか判断したい、とか?
そうだとしたら、多分無理じゃないですかね。
渡されたパスの拡張子があるかどうかを文字列として見て判断するとか。
でも、フォルダでも「.」が付くときありますからねぇ・・・。

勘違いならすみません。
1

スキルアップ/キャリアアップ(JOB@IT)