DOBON.NETプログラミング掲示板過去ログ
System.IO.Directory.Existsについて
題名: System.IO.Directory.Existsについて
著者: ばる
日時: 2008/04/25 12:51:18
ID: 21933
この記事の返信元:
(なし)
この記事への返信:
[21934]
Re[1]: System.IO.Directory.Existsについて
じゃんぬねっと
2008/04/25 13:03:49
ツリーを表示
環境/言語:[WindowsXP/C#/.NET2.0]
分類:[.NET]
はじめまして。
System.IO.Directory.Existsついて質問です。
フォルダが存在するかを調べ、存在したらフォルダの中身を取得する。
という事を行っています。
下記にサンプルを記述します。
if(System.IO.Directory.Exists(TextBox.Text))
{
string[] files = System.IO.Directory.GetFiles(TextBox.Text, "*", System.IO.SearchOption.AllDirectories);
}
この際に、System.IO.Directory.Existsに不正なパスが入力されていてもtrueになっており困っています。
どういう事か言うと
"C:\"=true
"C:\ \ \ \"でもtrueになってしまいます。
また、System.IO.Directory.GetFilesでも"C:\ \ \ \"は問題無く通過してしまい、"C:\ \ \ \pagefile.sys"という値が帰ってきます。
このような場合は、自力でパスチェックを行うしかないのでしょうか?
アドバイス等よろしくお願いします。
題名: Re[1]: System.IO.Directory.Existsについて
著者: じゃんぬねっと
URL:
http://blogs.wankuma.com/jeanne/
日時: 2008/04/25 13:03:49
ID: 21934
この記事の返信元:
[21933]
System.IO.Directory.Existsについて
ばる
2008/04/25 12:51:18
この記事への返信:
[21935]
Re[2]: System.IO.Directory.Existsについて
ばる
2008/04/25 14:39:45
[解決]
ツリーを表示
■No21933に返信(ばるさんの記事)
> このような場合は、自力でパスチェックを行うしかないのでしょうか?
> アドバイス等よろしくお願いします。
System.IO.FileInfo | DirectoryInfo を使って Path を整形しましょう。
題名: Re[2]: System.IO.Directory.Existsについて
著者: ばる
日時: 2008/04/25 14:39:45
ID: 21935
この記事の返信元:
[21934]
Re[1]: System.IO.Directory.Existsについて
じゃんぬねっと
2008/04/25 13:03:49
この記事への返信:
(なし)
ツリーを表示
>じゃんぬねっとさん
> System.IO.FileInfo | DirectoryInfo を使って Path を整形しましょう。
情報ありがとうございます!
下記の用に修正したところ、正常に動作するようになりました。
System.IO.FileInfo hFileInfo = new System.IO.FileInfo(TextBox.Text);
System.IO.DirectoryInfo hDirInfo = hFileInfo.Directory;
sFilePath = hDirInfo.FullName;
if(System.IO.Directory.Exists(sFilePath))
{
string[] files = System.IO.Directory.GetFiles(sFilePath, "*", System.IO.SearchOption.AllDirectories);
}
解決済み!
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
はじめまして。
System.IO.Directory.Existsついて質問です。
フォルダが存在するかを調べ、存在したらフォルダの中身を取得する。
という事を行っています。
下記にサンプルを記述します。
if(System.IO.Directory.Exists(TextBox.Text))
{
string[] files = System.IO.Directory.GetFiles(TextBox.Text, "*", System.IO.SearchOption.AllDirectories);
}
この際に、System.IO.Directory.Existsに不正なパスが入力されていてもtrueになっており困っています。
どういう事か言うと
"C:\"=true
"C:\ \ \ \"でもtrueになってしまいます。
また、System.IO.Directory.GetFilesでも"C:\ \ \ \"は問題無く通過してしまい、"C:\ \ \ \pagefile.sys"という値が帰ってきます。
このような場合は、自力でパスチェックを行うしかないのでしょうか?
アドバイス等よろしくお願いします。