回 帖 发 新 帖 刷新版面

主题:vfp中获取文件大小的两种方法

最近有朋友问到如何获取任意文件的大小,查阅了一下,找到两种方法,贴上来共享一下:
方法一:
  pnHandle   =   FOPEN("文件名")       &&   打开文件,注意路径   
  pnSize   =   FSEEK(pnHandle,0,2)       &&   检测文件大小,   指定到pnSize   
  ?pnSize   
  =FCLOSE(pnHandle)     &&   关闭文件

方法二:
set   comp   on   
 aa=fsize(文件名)   
?aa

回复列表 (共5个回复)

沙发

* 再给你添上一个

方法三:
?LEN(FILETOSTR("c:\autoexec.bat"))

板凳

方法四:
ADIR(wj,"c:\autoexec.bat")
?wj[1],":",wj[2]

3 楼

个人觉得ADIR()好,多了有点 茴香豆 。

4 楼

最近有朋友问到如何获取任意文件的大小,查阅了一下,找到两种方法,贴上来共享一下:
方法一:
  pnHandle   =   FOPEN("文件名")       &&   打开文件,注意路径   
  pnSize   =   FSEEK(pnHandle,0,2)       &&   检测文件大小,   指定到pnSize   
  ?pnSize   
  =FCLOSE(pnHandle)     &&   关闭文件

方法二:
set   comp   on   
 aa=fsize(文件名)   
?aa


回复:
就是应该用函数adir(),其它不适当.打个比方,要知道一间屋子的大小,是没有必要开门进屋的.在外面量量就是.看文件大小,查下目录资料就OK.要打开文件就增加出错机会,不是所有的文件都由你打开的.记紧,这就是编程的细致与严谨!



请评分鼓励!

5 楼

fsize 不能用的

不是唯一对应的值,得到的值是以4G为一个周期,也就是说大于4G的文件就不知道到底是0.xG还是4.xG了(大于2G为负数)

我来回复

您尚未登录,请登录后再回复。点此登录或注册