如何在ListBox中显示无.xml扩展名的XML文件?VB代码求助
解决ListBox显示不带.xml扩展名的VB代码问题
你现在的代码直接将FileInfo对象添加到ListBox中,默认会显示包含.xml扩展名的完整文件名。要实现只显示不带扩展名的文件名,最简洁且健壮的方式是使用.NET框架提供的Path.GetFileNameWithoutExtension()方法,它专门用来提取文件名的主体部分。
修改后的完整代码
Dim Directory = Application.StartupPath + "\orders\" Dim Files() As System.IO.FileInfo Dim DirInfo As New System.IO.DirectoryInfo(Directory) Dim StrClean As String Sub ShowFiles() Files = DirInfo.GetFiles("*.xml", IO.SearchOption.TopDirectoryOnly) For Each File In Files ' 使用Path.GetFileNameWithoutExtension获取不带扩展名的文件名 lstFiles.Items.Add(System.IO.Path.GetFileNameWithoutExtension(File.Name)) Next End Sub
关键修改说明
- 原来的
lstFiles.Items.Add(File)会直接输出FileInfo对象的默认字符串表示(即完整文件名),现在替换为System.IO.Path.GetFileNameWithoutExtension(File.Name):File.Name获取当前文件的完整名称(比如order123.xml)Path.GetFileNameWithoutExtension()会自动剥离最后的扩展名,返回order123
可选优化(导入命名空间)
如果你在代码顶部添加了Imports System.IO,就可以简化代码,不用写全限定名:
Imports System.IO ' ... 其他代码不变 lstFiles.Items.Add(Path.GetFileNameWithoutExtension(File.Name))
这种方法比手动截取字符串(比如Left(File.Name, Len(File.Name)-4))更可靠,因为它能自动处理不同长度的扩展名,也不会在文件名本身包含.的情况下出错。
内容的提问来源于stack exchange,提问作者Handryck
相关产品推荐
相关产品推荐

