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 に答える