Vb获取文件大小的研究
vb常规获取文件大小的方法是使用函数Filelen(filepath)来获取文件的大小.但是因为返回长度仅支持Long所以无法对2g以上文件进行读取大小.导致读取的数值会成负数或者其他异常数值.
找了很多方法包括api函数也有类似问题.有的是文件太大导致假死.Vb当时是在32位系统设计的,所以内置的一些函数对于现在的大容量文件和64位系统兼容差些.不过还好可以通过FSO来解决问题.经过测试FSO的Getfile可以完全解决问题.
码前在工程中选择—>引用,引用 Microsoft scripting runtime 对象后才可以使代码生效
代码如下:
Dim Fso , File,Filepath
Set Fso = CreateObject(“Scripting.FileSystemObject”) ‘创建Fso对象
Set File = Fso.GetFile(FilePath) ‘filepath是文件的完整路径
msgbox File.size ‘这里的File.Size就是filepath文件的大小.返回的是字节.可以通过转换变成需要的单位
以上代码就可以搞定文件的大小读取.看来还是要多研究下fso来拟补不足.