7
鑑於可能的完整文件路徑,我將以爲例C:\ dir \ otherDir \ possiblefile我想知道尋找一個好方法出是否檢查文件或父目錄是否存在給定可能的完整文件路徑
C:\目錄\ otherDir \ possiblefile文件
或 C:\目錄\ otherDir目錄
存在。我不想創建文件夾,但我想創建文件,如果它不存在。 該文件可能有擴展名或不可用。 我要完成這樣的事情:
我想出了一個解決方案,但它是一個有點矯枉過正,在我看來。應該有一個簡單的方法來做到這一點。
這裏是我的代碼:
// Let's example with C:\dir\otherDir\possiblefile
private bool CheckFile(string filename)
{
// 1) check if file exists
if (File.Exists(filename))
{
// C:\dir\otherDir\possiblefile -> ok
return true;
}
// 2) since the file may not have an extension, check for a directory
if (Directory.Exists(filename))
{
// possiblefile is a directory, not a file!
//throw new Exception("A file was expected but a directory was found");
return false;
}
// 3) Go "up" in file tree
// C:\dir\otherDir
int separatorIndex = filename.LastIndexOf(Path.DirectorySeparatorChar);
filename = filename.Substring(0, separatorIndex);
// 4) Check if parent directory exists
if (Directory.Exists(filename))
{
// C:\dir\otherDir\ exists -> ok
return true;
}
// C:\dir\otherDir not found
//throw new Exception("Neither file not directory were found");
return false;
}
有什麼建議?
是的,除此之外,它是相當不錯的去。 – 2013-02-13 18:12:04
現在,這絕對是更短,從手動分析和處理替代分隔符。正是我一直在尋找的! – Joel 2013-02-14 11:06:52