方法2:
使用文件系统操控文件和路径的能力是任何程序的一个重要功能。在本文所介绍的技巧中,我们将检测VB.NET 如何与文件系统进行作用。通过现有类、方法和属性示例给出简便方法完成必须的功能。
为了能够操作文件系统,我们需要用到System.IO命名空间。因此,必须在模块的顶部导入System.IO。我们重点关注FileInfo类,此类允许访问和操作文件系统中的文件。并且允许确定文件的属性和DirectoryInfo,而DirectoryInfo类允许访问操作路径和确定属性。
下面的代码给出了判断文件是否存在和检查其属性的代码。在此示例中,我们定义了sFileName变量保存文件名和地址。然后新建FileInfo类示例,此类接受完整文件路径作为参数。接着,使用Exists属性判断文件是否存在。如果存在文件,则显示文件创建的日期和时间;如果文件不存在,则给出不能定位文件的信息。
Private DetermineIfFileExists() As Integer
Dim sFileName As String
sFileName = "C:/text1.txt"
Dim fFile As New FileInfo(sFileName)
--------------------------
在VB中如何判断文件、文件夹是否存在和生成文件夹
一、 在VB编程中,经常需要判断一个文件和文件或是否存在,以便执行相相应的操作,这可以用下列语句进行判断。
Dir ([PathName],[Attributes as VbFileAttribute = vbNormal]) as String
解释:PathName:文件或文件夹的绝对路径。
Attributes:文件的属性--默认值:vbNormal 是普通文件,vbHidden 是隐藏文件,vbDirectory是文件夹。
"[]"内为可以选项。Dir(file)=""表示文件或文件夹不存,即文件或文件夹的实际路径文空。Dir(file)<>""表示文件或文件夹存在,即文件或文件夹实际路径不为空。
例如判断C:\Windows\System32\cmd.exe是否存在,如存在,就调用它,可用下列语句:
’文件存,利用Shell调用,默值为vbNormal
If Dir("C:\Windows\System32\cmd.exe")<>"" Then
Shell "C:\Windows\System32\cmd.exe"
End If
如果判断的文件是隐藏文件,上面的语则无法判断出来,这时就需要加上后面的可选项目,例如
判断D盘根目录下是否有隐藏文件text.txt,就用下面的源代码:
If Dir("D:\text.txt",vbHidden)<>"" Then
Msgbox "找到Text.txt隐藏文件"
End If
判断件夹是否存,与判断隐藏文件的方法一样,可用下列语句:
Dir("文件夹路径",vbDirectory)<>""
例如,要判断文件D:\Backup是否存在,源代码如下:
If Dir("D:\Backup",vbDirectory)<>"" Then
Msgbox "文件夹:D:\Backup 存在!"
End If
二、在VB的编程,也会用到利用应程序时生成文件夹。可以利用下面的言句生成文件夹:
MkDir "文件夹路径"
例如:在应用程序根目录下,生成Backup文件夹。在生成之前先判断该文件夹否存在。
源代码如下:
Dim BackupPath As String
Select Case Right(App.Path,1) ’判断路径是否包含’\’
case ’\’:
BackupPath = App.Path & "Backup"
case Else
BackupPath = App.Path & "\Backup"
End Select
If Dir(BackuPath,vbDirectory)="" Then ’文件夹不存在
MkDir BackuPath ’在应用程序根目下,创建文件夹Backup
End If
If Not fFile.Exists Then
MessageBox.Show("File Not Found")
Else
MessageBox.Show("File Found. File was created on: " & fFile.CreationTime)
End If
End
判断路径是否存在
下面的代码给出了判断路径是否存在和检查其属性的代码。我们定义了sDirName变量保存名字和路径的地址。然后新建DirectoryInfo类示例,此类接受全路径名作为参数,接下来使用Exists属性判断路径是否存在。如果存在,则显示其最近一次被访问的日期和时间;如果不存在,则给出不能定位路径的信息。
Private DetermineIfDirectoryExists() As Integer
Dim sDirName As String
sDirName = "C:/temp"
Dim dDir As New DirectoryInfo(sDirName)
If Not dDir.Exists Then
MessageBox.Show("Directory Not Found")
Else
MessageBox.Show("Directory Found. Directory was last accessed on: " & dDir.LastAccessTime)
End If
End