如何在项目根目录中创建文件夹和文件

时间:2013-08-14 11:02:18

标签: vb.net file directory relative-path

我有一个vb .net应用程序,它存储在我的D:驱动器中。我需要在项目根目录中创建一个文件夹和一个文件。我使用以下代码创建文件夹以及文件。

 If (Not System.IO.Directory.Exists("\test\")) Then
                System.IO.Directory.CreateDirectory("\test\")
                If (Not System.IO.File.Exists("\test\output.txt")) Then
                    System.IO.File.Create("\test\output.txt")
                End If
            End If

但是文件夹和文件是在C:驱动器中创建的。 我使用Dim fullpath As String = Path.GetFullPath("\test\output.txt")来确定文件和文件夹的创建位置。

我想在我的项目根目录中创建它。这意味着我需要使用相对路径条件创建文件夹。

2 个答案:

答案 0 :(得分:2)

如果你想要正在运行的应用程序的可执行文件或dll的目录,那么:

   Dim spath As String
        spath = System.IO.Path.GetDirectoryName( _
                   System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
        If (Not System.IO.Directory.Exists(Path.Combine(spath, "test"))) Then

            System.IO.Directory.CreateDirectory(Path.Combine(spath, "test"))

            If (Not System.IO.File.Exists(Path.Combine(spath, "test\output.txt"))) Then

                System.IO.File.Create(Path.Combine(spath, "test\output.txt"))
            End If
        End If

如果你想要解决方案/项目目录,那么:


        Dim spath As String = Directory.GetCurrentDirectory

        If (Not System.IO.Directory.Exists(Path.Combine(spath, "test"))) Then
            System.IO.Directory.CreateDirectory(Path.Combine(spath, "test"))
            If (Not System.IO.File.Exists(Path.Combine(spath, "test\output.txt"))) Then
                System.IO.File.Create(Path.Combine(spath, "test\output.txt"))
            End If
        End If

答案 1 :(得分:0)

您可以使用此路径,并从那里开始工作......

    MsgBox(Application.StartupPath)