3

通过将函数传递到文件的完整路径(例如C:\someFolder\anotherFolder\someXML.xml,确定文件夹是否存在)。有没有更聪明/更好/更优雅的方式来做到这一点?这是我的实现:

Private Function FolderExists(ByVal fullPath As String) As Boolean
    Dim folders() As String = fullPath.Split("\")
    Dim folderPath As String = ""
    For i As Integer = 0 To folders.Length - 2 'subtract 2 to avoid appending the filename.
        folderPath += folders(i) + "\"
    Next
    Dim f As New DirectoryInfo(folderPath)
    Return f.Exists
End Function
4

2 回答 2

6

只需使用File.Exists代替,它接受完整路径。

编辑:对不起,调用您的目录变量f让我感到困惑....我相信您可以翻译以下 C# 代码:-

 return Directory.Exists( Path.GetDirectoryName( fullPath ) );

.NET BCL ARM对这些东西有很好的覆盖,但我确信那里有更好的参考。和文档可能会很好System.IO.PathEnvironment

于 2009-11-30T14:02:48.533 回答
0

您可以使用 [ File.Exists]( http://msdn.microsoft.com/en-us/library/system.io.file.exists(VS.71).aspx))

Private Function FolderExists(ByVal fullPath As String) As Boolean
  return (File.exists(fullPath)
          And (File.GetAttributes(fullPath) And FileAttributes.Directory))
End Function
于 2009-11-30T14:08:32.750 回答