重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
API函数 PathFileExists
创新互联建站从2013年开始,是专业互联网技术服务公司,拥有项目成都网站建设、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元阿合奇做网站,已为上家服务,为阿合奇各地企业和个人服务,联系电话:18980820575
声明
Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
PathFileExists("一个文件或文件夹") 如果存在 返回1 不存在返回0
If PathFileExists("C:\123") then ...
Dir不准确
如果有下列目录结构
D盘中有文件夹 test 文件夹中有testFile.txt文件
还有空文件夹 testEmpty
则
Dir("d:\test\testFIie.txt") 返回 testFile.txt
Dir("d:\test\testFIie11111111.txt") 返回 ""
Dir("d:\test\") 返回 testFile.txt (返回此文件夹第一个文件)
Dir("d:\testEmpty") 返回空
dir("一个不存在的文件夹")返回空
也就是说如果一个文件夹下没有文件(不管有没有子文件夹)则 dir("一个文件夹")就返回空
所以不能通过 dir("一个文件夹")来判断一个文件夹是否存在。
只能调用api函数
Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
PathFileExists("一个文件或文件夹") 如果存在 返回1 不存在返回0
Dim objFile As System.IO.File
If objFile.Exists("C:\a.txt") Then
FileOpen(1, "c:\a.txt", OpenMode.Append)
Else
FileOpen(1, "c:\a.txt", OpenMode.Output)
End If
判断和创建可以放在一起。
创建空文件夹:
Directory.CreateDirectory(文件夹完整路径)
'系统会自动判断文件夹是否存在,不存在就创建
判断并创建空文件:
Using fs As New FileStream("f.txt", FileMode.OpenOrCreate)
'你可以用这个FileStream做其它事情
End Using
将 File 类用于典型的操作,如复制、移动、重命名、创建、打开、删除和追加到文件。也可将 File 类用于获取和设置文件属性或有关文件创建、访问及写入操作的 DateTime 信息。
许多 File 方法在您创建或打开文件时返回其他 I/O 类型。可以使用这些其他类型进一步处理文件。有关更多信息,请参见特定的 File 成员,如 OpenText、CreateText 或 Create。
由于所有的 File 方法都是静态的,所以如果只想执行一个操作,那么使用 File 方法的效率比使用相应的 FileInfo 实例方法可能更高。所有的 File 方法都要求当前所操作的文件的路径。
File 类的静态方法对所有方法都执行安全检查。如果打算多次重用某个对象,可考虑改用 FileInfo 的相应实例方法,因为并不总是需要安全检查。
默认情况下,将向所有用户授予对新文件的完全读/写访问权限。
下表描述了用于自定义各种 File 方法的行为的枚举。
枚举
说明
FileAccess
指定对文件的读取和写入访问。
FileShare
为已在使用中的文件指定允许的访问级别。
FileMode
指定是保留还是覆盖现有文件的内容,并指定创建现有文件的请求是否会导致异常。
Imports System
Imports System.IO
Public Class Test
Public Shared Sub Main()
Dim path As String = "c:\temp\MyTest.txt"
If File.Exists(path) = False Then
' Create a file to write to.
Dim sw As StreamWriter = File.CreateText(path)
sw.WriteLine("Hello")
sw.WriteLine("And")
sw.WriteLine("Welcome")
sw.Flush()
sw.Close()
End If
Try
' Open the file to read from.
Dim sr As StreamReader = File.OpenText(path)
Do While sr.Peek() = 0
Console.WriteLine(sr.ReadLine())
Loop
sr.Close()
Dim path2 As String = path + "temp"
' Ensure that the target does not exist.
File.Delete(path2)
' Copy the file.
File.Copy(path, path2)
Console.WriteLine("{0} was copied to {1}.", path, path2)
' Delete the newly created file.
File.Delete(path2)
Console.WriteLine("{0} was successfully deleted.", path2)
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.ToString())
End Try
End Sub
End Class
当然不能直接用了,我就举个例子,你用C,c++用到命名空间时要加#include.h,#include,
用c#前面要用到using namespace,而你在VB6中根本没添加进system.io的封装,有一种方式是在模块中,直接添加dll的应用,.net环境下的cls,dll在在vb6.0中是不能用的
先imports
system.runtime.interopservices
然后class
xxxx
public
shared
function
zlibversion()
as
string
end
function...'在里面调用zlibversion()即可调用zlib1.dll的zlibversion方法,其他dll你根据接口灵活定义好了end
class