我有以下代码,它收集目录中的某些文件并将它们放在一个字符串集合中。我想找到该集合中所有文件的总大小。我试过.Length,但是它说Length不是Collection(Of String)的成员。我也尝试过使用FileInfo,但它似乎并不适用于我需要的东西。最终,我想在消息框中显示总大小。
Dim counter = My.Computer.FileSystem.GetFiles(TextBox1.Text,
FileIO.SearchOption.SearchAllSubDirectories, "*.mp4", "*.jpg", "*.wav", "*.pf_import")
以下是一次尝试的示例,但是当真值为16.5MB时,它给出的值为42。
Dim fi As String
For Each fi In counter
FileLen += fi.Length
我也试过这个例子,但是它给了我0。
Dim fi As String
Dim filesize As Integer
For Each fi In counter
FileLen += filesize
有人能让我知道我做错了吗?
答案 0 :(得分:0)
遍历每个文件并调用GetFileInfo函数并检索Length属性,该属性的大小以字节为单位:
Dim length As Integer = 0
For Each f In My.Computer.FileSystem.GetFiles(TextBox1.Text,
FileIO.SearchOption.SearchAllSubDirectories, "*.mp4", "*.jpg", "*.wav", "*.pf_import")
length += My.Computer.FileSystem.GetFileInfo(f).Length
Next
然后从字节转换为兆字节:
Dim totalKB As Double = length/1024.0 ' To Kilobytes
Dim totalMB As Double = totalKB/1000 ' To Megabytes