判断文件和目录是否存在。

都不太好,如果文件长度是刚好是0的话,Nicrosoft的办法就不行了,我这里有一个方法,是微软公司的Bruce   McKinney使用的:  
  “测试一个文件的存在应该是很容易的(并且在多数语言中确是如此),但在Visual   Basic中,它却成为最令人头痛的问题之一,别指望像这样就能简单的解决了:  
  fExist   =   (Dir$(sFullPath)<>Sempty)  
  那条语句会一直工作到你在一个空软盘或CD-ROM驱动器上指定一个文件为止,然后,你就会被一个消息框困住。这里是别一种常见的情况:  
  fExist   =   FileLen(sFullPath)  
  对于0长度的文件它就会失败,尽管0长度的文件不常见,却也不是闻所未闻……这里是我所知道的最简洁的方法:  
  Function   ExistFile(sSpec   as   String)   as   Boolean  
      On   Error   Resume   Next  
      Call   fileLen(sSpec)  
      ExistFile=(Err=0)  
  End   Function  
  这不可能有很高的效率。错误陷井对非失败情况是快速的,但是这个函数更像是恨不得没有错误。  
  还有一个是测试是否存在目录的:  
  Function   ExistFileDir(sSpec   as   String)   as   Boolean  
      Dim   af   As   Long  
      af   =   GetFileATTributes(sSpec)   
      ExistFileDir=(af<>-1)  
  End   Function  
  我曾认为没有什么可以打破这一个,但事实证明某些含有控制字符的文件名在Windows   95中是佥的,而在Windows   NT中则是非法的,或者这是另一条解决方法?不管怎样,我已见过这个函数失败的情形,在这里难以描述。” 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值