如何在文件路径中创建包含变量的文件?

2 .net vb.net

我是visual basic的新手,我正在尝试使用此代码创建一个文件

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim curboard As String = comboard.SelectedItem
    Dim curstd As String = comstd.SelectedItem
    Dim curdiv As String = comdiv.SelectedItem
    Dim curmed As String = commed.SelectedItem
    Dim filepath As String = "c:\program files\School Attandance Management System 1.0\data\" & curdiv & ".samsclass"

    Try
        File.Create(filepath)
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try


End Sub
Run Code Online (Sandbox Code Playgroud)

这输出

路径中的Illigal字符

comdiv,comstd,commed和comboard是comboboxes请让我知道如何将变量连接到filepath?

Ste*_*eve 6

要连接字符串以形成有效的文件路径,您应该使用Path类及其方法Path.Combine

Path.Combine("c:\program files\School Attandance Management System 1.0\data", 
             curdiv, ".samsclass")
Run Code Online (Sandbox Code Playgroud)

注意该方法如何接受字符串数组并将它们组合在一起以形成有效的文件路径,在需要的地方插入正确的路径分隔符.

当然,变量curdiv 本身不应包含无效的文件名字符,因为您可以从方法GetInvalidFileNameChars获取

您可以尝试使用这样的代码删除无效字符,但正确的方法应该是不允许组合框中的无效名称

Dim invalidFileChars() As Char = Path.GetInvalidFileNameChars()
for each c in invalidFileChars
    curdiv = curdiv.Replace(c.ToString(), "")
Next
Run Code Online (Sandbox Code Playgroud)

  • @ H4x0r,如果史蒂夫回答了你的问题,你应该按左边的勾号将其显示为已接受的答案. (2认同)