vb.net - 路径中的非法字符(阅读说明)
问题描述
我目前正在制作一个名称中带有符号的文件夹,因此我使用了以下代码:
Private Sub ButtonDirectory_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonDirectory.Click
FBDPath.ShowDialog()
TextBox1.Text = FBDPath.SelectedPath & "\◯Folder Safe *by Me*◯"
End Sub
Private Sub ButtonCreate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCreate.Click
Dim folderpath As String
folderpath = TextBox1.Text
If Directory.Exists(folderpath) Then
MsgBox("Folder already exist!", vbInformation, "Safe Folder")
Else
Directory.CreateDirectory(folderpath)
MsgBox("succesfull", "Safe Folder")
End If
End Sub
所以,在我开始构建之后,我可以选择一个文件夹,但是当我点击创建时,问题就出现了:“路径中的非法字符”。
供参考:
- 突出显示的问题是“Directory.CreateDirectory(folderpath)~”
- FBDPath 是 FolderBrowseDialog
- 有 2 个按钮和一个文本框。
解决方案
因为您允许用户输入内容,所以您应该删除任何无效输入:
Dim pathBits = TextBox1.Text.Split(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar)
For Each c as Char in Path.GetInvalidPathChars()
For i = 0 to pathBits.Length - 1
pathBits(i) = pathBits(i).Replace(c, "_"c)
Next i
Next c
folderpath = string.Join(Path.DirectorySeparatorChar, pathBits)
推荐阅读
- python - 如何获得一条线上的曲线点?
- c++ - 使用Qt将javascript转储数组解析为点列表
- java - 对抽象方法执行通用初始化步骤
- mysql - 使用 selectizeGroupUI 创建数据输入表单以将数据输入数据表 (SQL)
- google-apps-script - 从 GAS 请求 WebApp(在 GSheets 中)
- angular - 用管道加载的 img src 未知
- kotlin - Unit 和 { } 的区别
- python - Pandas:在索引之后获取第一个值(不取决于索引类型)
- python - Python:Tkinter 按钮没有出现
- angular - 部署时缺少 Angular Material 组件