嗨,这可能听起来很奇怪,下面是我的VB代码
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set filesys = CreateObject("Scripting.FileSystemObject")
'Set fileapp = filesys.OpenTextFile("C:\TEST.txt", ForAppending, True)
Set filewrt = filesys.OpenTextFile("C:\TEXT.txt", ForWriting, True)
Set filesize = filesys.GetFile("C:\TEXT.txt")
filewrt.Write("HELOOO")
msgbox filesize.size
filewrt.close
此脚本在Windows 7中显示6字节的值为6字节作为文件大小,但在XP中它显示0,即使文件大小为6字节....任何想法?
编辑:
我想通了,不得不首先关闭文件,然后显示XP的filesize.size以显示正确的文件大小。
仍然不知道为什么这可以在Windows 7上运行...有什么想法吗?
答案 0 :(得分:2)
我最好的猜测是对两个版本的Windows或FileSystemObject
http://msdn.microsoft.com/en-us/library/windows/desktop/aa364218%28v=vs.85%29.aspx
根据http://msdn.microsoft.com/en-us/library/z9ty6h50%28v=vs.84%29.aspx
Close方法刷新缓冲区并关闭文件。
因此,在IO被刷新到磁盘之前,XP版本没有看到文件大小。