2013-05-15 162 views
2

我是新来的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 

此输出路径

Illigal字符

comdiv,comstd,commed和COMBOARD是组合框 请让我知道如何将变量连接到文件路径中?

+1

什么是'curdiv'变量的值? – Steve

+0

[如何从路径和文件名删除非法字符?](http://stackoverflow.com/questions/146134/how-to-remove-illegal-characters-from-path-and-filenames)可能的重复此解决方案将允许您从'filepath'变量中删除这些无效字符。 –

+0

curdiv的值是用户将在组合框中选择的字符串 – H4x0r

回答

5

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

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

通知的方法是如何接受一个字符串数组并将它们组合在一起,形成一个有效的文件路径中插入正确的需要的路径分隔符。

当然变量curdiv本身不应该包含无效文件名字符,你可以从该方法获得的那些GetInvalidFileNameChars

您可以尝试使用如下代码删除无效字符,但正确的做法应该是不允许无效名称在下拉列表

Dim invalidFileChars() As Char = Path.GetInvalidFileNameChars() 
for each c in invalidFileChars 
    curdiv = curdiv.Replace(c.ToString(), "") 
Next 
+0

其实curdiv变量有一个空格,所以我修剪和解决!!!!!!! – H4x0r

+0

很高兴为你,也请注意,我的答案假设curdiv是一个文件夹而不是文件名,我现在更新答案 – Steve

+0

感谢您的时间,史蒂夫:) 有一个美好的一天 – H4x0r

相关问题