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

都不太好,如果文件长度是刚好是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中则是非法的,或者这是另一条解决方法?不管怎样,我已见过这个函数失败的情形,在这里难以描述。” 

你可能感兴趣的:(判断文件和目录是否存在。)