1
'FSO的几个应用函数
2![](/Images/OutliningIndicators/None.gif)
3
'1.读取文件中所有字符的函数
4
'其实就是通过ReadLine(读取行),通过 While Not cnrs.AtEndOfStream 的条件进行循环读取行,
5
'来达到读取文件中所有字符。当然也可以使用ReadAll代替多个ReadLine,但主要缺点是将格式进行换行等问题需要再次解决。
6
'引用函数 call FSOFileRead("xxx文件") 即可
7![](/Images/OutliningIndicators/None.gif)
8
Function FileReadAll(filename As String) As String
9
On Error GoTo errlabel
10
Dim fso As New FileSystemObject
11
If Not fso.FileExists(filename) Then
12
FileReadAll = ""
13
Exit Function
14
Else
15
Dim cnrs As TextStream
16
Dim rsline As String
17
rsline = ""
18
Set cnrs = fso.OpenTextFile(filename, 1)
19
While Not cnrs.AtEndOfStream
20
rsline = rsline & cnrs.ReadLine
21
Wend
22
FileReadAll = rsline
23
Exit Function
24
End If
25
errlabel:
26
FileReadAll = ""
27
End Function
28![](/Images/OutliningIndicators/None.gif)
29
'2读取文件中某一行中所有字符的函数
30
'这次即使用了readall方法,通过split函数将读取的内容以换行为条件,进行数组的定义,
31
'提取 lineNum-1(数组从0记数) 所对应的数组值即为 读取的该行值 ,也就是该行中所有的字符了。
32
'函数的调用 call FSOlinedit("xxx文件",35) 表示显示xxx文件的第35行内容
33![](/Images/OutliningIndicators/None.gif)
34
Function LineEdit(filename As String, lineNum As Integer) As String
35
On Error GoTo errlabel
36
If lineNum < 1 Then
37
LineEdit = ""
38
Exit Function
39
End If
40
Dim fso As New FileSystemObject
41
If Not fso.FileExists(filename) Then
42
LineEdit = ""
43
Exit Function
44
Else
45
Dim f As TextStream
46
Dim tempcnt As String
47
Dim temparray
48
Set f = fso.OpenTextFile(filename, 1)
49
If Not f.AtEndOfStream Then tempcnt = f.ReadAll
50
f.Close
51
Set f = Nothing
52
temparray = Split(tempcnt, Chr(13) & Chr(10))
53
If lineNum > UBound(temparray) + 1 Then
54
LineEdit = ""
55
Exit Function
56
Else
57
LineEdit = temparray(lineNum - 1)
58
End If
59
End If
60
Exit Function
61
errlabel:
62
LineEdit = ""
63
End Function
64![](/Images/OutliningIndicators/None.gif)
65
'3.读取文件中最后一行内容的函数
66
'其实和读取某一行的函数类似,主要即是 数组的上界ubound值 就是最末的值 ,故为最后一行。函数的引用也很简单。
67![](/Images/OutliningIndicators/None.gif)
68
Function LastLine(filename As String) As String
69
On Error GoTo errlabel
70
Dim fso As New FileSystemObject
71
If Not fso.FileExists(filename) Then
72
LastLine = ""
73
Exit Function
74
End If
75
Dim f As TextStream
76
Dim tempcnt As String
77
Dim temparray
78
Set f = fso.OpenTextFile(filename, 1)
79
If Not f.AtEndOfStream Then
80
tempcnt = f.ReadAll
81
f.Close
82
Set f = Nothing
83
temparray = Split(tempcnt, Chr(13) & Chr(10))
84
LastLine = temparray(UBound(temparray))
85
End If
86
Exit Function
87
errlabel:
88
LastLine = ""
89
End Function
90![](/Images/OutliningIndicators/None.gif)
91
'在ASP中自动创建多级文件夹的函数
92
'FSO中有个方法是CreateFolder,但是这个方法只能在其上一级文件夹存在的情况下创建新的文件夹,
93
'所以我就写了一个自动创建多级文件夹的函数,在生成静态页面等方面使用非常方便.
94
'--------------------------------
95
' 自动创建指定的多级文件夹
96
' strPath为绝对路径
97![](/Images/OutliningIndicators/None.gif)
98
Function AutoCreateFolder(strPath) As Boolean
99
On Error Resume Next
100
Dim astrPath
101
Dim ulngPath As Integer
102
Dim i As Integer
103
Dim strTmpPath As String
104![](/Images/OutliningIndicators/None.gif)
105
If InStr(strPath, "\") <= 0 Or InStr(strPath, ":") <= 0 Then
106
AutoCreateFolder = False
107
Exit Function
108
End If
109
Dim objFSO As New FileSystemObject
110
If objFSO.FolderExists(strPath) Then
111
AutoCreateFolder = True
112
Exit Function
113
End If
114
astrPath = Split(strPath, "\")
115
ulngPath = UBound(astrPath)
116
strTmpPath = ""
117
For i = 0 To ulngPath
118
strTmpPath = strTmpPath & astrPath(i) & "\"
119
If Not objFSO.FolderExists(strTmpPath) Then
120
' 创建
121
objFSO.CreateFolder (strTmpPath)
122
End If
123
Next
124
Set objFSO = Nothing
125
If Err = 0 Then
126
AutoCreateFolder = True
127
Else
128
AutoCreateFolder = False
129
End If
130
End Function
131![](/Images/OutliningIndicators/None.gif)
132
'一个文件备份通用过程:
133
'Filename = 文件名,Drive = 驱动器,Folder = 文件夹(一层)
134
Public Sub BackupFile(filename As String, Drive As String, folder As String)
135
Dim fso As New FileSystemObject '创建 FSO 对象实例
136
Dim Dest_path As String, Counter As Long
137
Counter = 0
138
Do While Counter < 6 '如果驱动器没准备好,继续检测。共检测 6 秒
139
Counter = Counter + 1
140
Call Waitfor(1) '间隔 1 秒
141
If fso.Drives(Drive).IsReady = True Then
142
Exit Do
143
End If
144
Loop
145
If fso.Drives(Drive).IsReady = False Then '6 秒后目标盘仍未准备就绪,退出
146
MsgBox " 目标驱动器 " & Drive & " 没有准备好! ", vbCritical
147
Exit Sub
148
End If
149
If fso.GetDrive(Drive).FreeSpace < fso.GetFile(filename).Size Then
150
MsgBox "目标驱动器空间太小!", vbCritical '目标驱动器空间不够,退出
151
Exit Sub
152
End If
153
If Right(Drive, 1) <> ":" Then
154
Drive = Drive & ":"
155
End If
156
If Left(folder, 1) <> "\" Then
157
folder = "\" & folder
158
End If
159
If Right(folder, 1) <> "\" Then
160
folder = folder & "\"
161
End If
162
Dest_path = Drive & folder
163
If Not fso.FolderExists(Dest_path) Then '如果目标文件夹不存在,创建之
164
fso.CreateFolder Dest_path
165
End If
166
fso.CopyFile filename, Dest_path & fso.GetFileName(filename), True
167
'拷贝,直接覆盖同名文件
168
MsgBox " 文件备份完毕。", vbOKOnly
169
Set fso = Nothing
170
End Sub
171
172
'延时过程,Delay 单位约为 1 秒
173
Private Sub Waitfor(Delay As Single)
174
Dim StartTime As Single
175
StartTime = Timer
176
Do Until (Timer - StartTime) > Delay
177
Loop
178
End Sub
179![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/None.gif)
16
![](/Images/OutliningIndicators/None.gif)
17
![](/Images/OutliningIndicators/None.gif)
18
![](/Images/OutliningIndicators/None.gif)
19
![](/Images/OutliningIndicators/None.gif)
20
![](/Images/OutliningIndicators/None.gif)
21
![](/Images/OutliningIndicators/None.gif)
22
![](/Images/OutliningIndicators/None.gif)
23
![](/Images/OutliningIndicators/None.gif)
24
![](/Images/OutliningIndicators/None.gif)
25
![](/Images/OutliningIndicators/None.gif)
26
![](/Images/OutliningIndicators/None.gif)
27
![](/Images/OutliningIndicators/None.gif)
28
![](/Images/OutliningIndicators/None.gif)
29
![](/Images/OutliningIndicators/None.gif)
30
![](/Images/OutliningIndicators/None.gif)
31
![](/Images/OutliningIndicators/None.gif)
32
![](/Images/OutliningIndicators/None.gif)
33
![](/Images/OutliningIndicators/None.gif)
34
![](/Images/OutliningIndicators/None.gif)
35
![](/Images/OutliningIndicators/None.gif)
36
![](/Images/OutliningIndicators/None.gif)
37
![](/Images/OutliningIndicators/None.gif)
38
![](/Images/OutliningIndicators/None.gif)
39
![](/Images/OutliningIndicators/None.gif)
40
![](/Images/OutliningIndicators/None.gif)
41
![](/Images/OutliningIndicators/None.gif)
42
![](/Images/OutliningIndicators/None.gif)
43
![](/Images/OutliningIndicators/None.gif)
44
![](/Images/OutliningIndicators/None.gif)
45
![](/Images/OutliningIndicators/None.gif)
46
![](/Images/OutliningIndicators/None.gif)
47
![](/Images/OutliningIndicators/None.gif)
48
![](/Images/OutliningIndicators/None.gif)
49
![](/Images/OutliningIndicators/None.gif)
50
![](/Images/OutliningIndicators/None.gif)
51
![](/Images/OutliningIndicators/None.gif)
52
![](/Images/OutliningIndicators/None.gif)
53
![](/Images/OutliningIndicators/None.gif)
54
![](/Images/OutliningIndicators/None.gif)
55
![](/Images/OutliningIndicators/None.gif)
56
![](/Images/OutliningIndicators/None.gif)
57
![](/Images/OutliningIndicators/None.gif)
58
![](/Images/OutliningIndicators/None.gif)
59
![](/Images/OutliningIndicators/None.gif)
60
![](/Images/OutliningIndicators/None.gif)
61
![](/Images/OutliningIndicators/None.gif)
62
![](/Images/OutliningIndicators/None.gif)
63
![](/Images/OutliningIndicators/None.gif)
64
![](/Images/OutliningIndicators/None.gif)
65
![](/Images/OutliningIndicators/None.gif)
66
![](/Images/OutliningIndicators/None.gif)
67
![](/Images/OutliningIndicators/None.gif)
68
![](/Images/OutliningIndicators/None.gif)
69
![](/Images/OutliningIndicators/None.gif)
70
![](/Images/OutliningIndicators/None.gif)
71
![](/Images/OutliningIndicators/None.gif)
72
![](/Images/OutliningIndicators/None.gif)
73
![](/Images/OutliningIndicators/None.gif)
74
![](/Images/OutliningIndicators/None.gif)
75
![](/Images/OutliningIndicators/None.gif)
76
![](/Images/OutliningIndicators/None.gif)
77
![](/Images/OutliningIndicators/None.gif)
78
![](/Images/OutliningIndicators/None.gif)
79
![](/Images/OutliningIndicators/None.gif)
80
![](/Images/OutliningIndicators/None.gif)
81
![](/Images/OutliningIndicators/None.gif)
82
![](/Images/OutliningIndicators/None.gif)
83
![](/Images/OutliningIndicators/None.gif)
84
![](/Images/OutliningIndicators/None.gif)
85
![](/Images/OutliningIndicators/None.gif)
86
![](/Images/OutliningIndicators/None.gif)
87
![](/Images/OutliningIndicators/None.gif)
88
![](/Images/OutliningIndicators/None.gif)
89
![](/Images/OutliningIndicators/None.gif)
90
![](/Images/OutliningIndicators/None.gif)
91
![](/Images/OutliningIndicators/None.gif)
92
![](/Images/OutliningIndicators/None.gif)
93
![](/Images/OutliningIndicators/None.gif)
94
![](/Images/OutliningIndicators/None.gif)
95
![](/Images/OutliningIndicators/None.gif)
96
![](/Images/OutliningIndicators/None.gif)
97
![](/Images/OutliningIndicators/None.gif)
98
![](/Images/OutliningIndicators/None.gif)
99
![](/Images/OutliningIndicators/None.gif)
100
![](/Images/OutliningIndicators/None.gif)
101
![](/Images/OutliningIndicators/None.gif)
102
![](/Images/OutliningIndicators/None.gif)
103
![](/Images/OutliningIndicators/None.gif)
104
![](/Images/OutliningIndicators/None.gif)
105
![](/Images/OutliningIndicators/None.gif)
106
![](/Images/OutliningIndicators/None.gif)
107
![](/Images/OutliningIndicators/None.gif)
108
![](/Images/OutliningIndicators/None.gif)
109
![](/Images/OutliningIndicators/None.gif)
110
![](/Images/OutliningIndicators/None.gif)
111
![](/Images/OutliningIndicators/None.gif)
112
![](/Images/OutliningIndicators/None.gif)
113
![](/Images/OutliningIndicators/None.gif)
114
![](/Images/OutliningIndicators/None.gif)
115
![](/Images/OutliningIndicators/None.gif)
116
![](/Images/OutliningIndicators/None.gif)
117
![](/Images/OutliningIndicators/None.gif)
118
![](/Images/OutliningIndicators/None.gif)
119
![](/Images/OutliningIndicators/None.gif)
120
![](/Images/OutliningIndicators/None.gif)
121
![](/Images/OutliningIndicators/None.gif)
122
![](/Images/OutliningIndicators/None.gif)
123
![](/Images/OutliningIndicators/None.gif)
124
![](/Images/OutliningIndicators/None.gif)
125
![](/Images/OutliningIndicators/None.gif)
126
![](/Images/OutliningIndicators/None.gif)
127
![](/Images/OutliningIndicators/None.gif)
128
![](/Images/OutliningIndicators/None.gif)
129
![](/Images/OutliningIndicators/None.gif)
130
![](/Images/OutliningIndicators/None.gif)
131
![](/Images/OutliningIndicators/None.gif)
132
![](/Images/OutliningIndicators/None.gif)
133
![](/Images/OutliningIndicators/None.gif)
134
![](/Images/OutliningIndicators/None.gif)
135
![](/Images/OutliningIndicators/None.gif)
136
![](/Images/OutliningIndicators/None.gif)
137
![](/Images/OutliningIndicators/None.gif)
138
![](/Images/OutliningIndicators/None.gif)
139
![](/Images/OutliningIndicators/None.gif)
140
![](/Images/OutliningIndicators/None.gif)
141
![](/Images/OutliningIndicators/None.gif)
142
![](/Images/OutliningIndicators/None.gif)
143
![](/Images/OutliningIndicators/None.gif)
144
![](/Images/OutliningIndicators/None.gif)
145
![](/Images/OutliningIndicators/None.gif)
146
![](/Images/OutliningIndicators/None.gif)
147
![](/Images/OutliningIndicators/None.gif)
148
![](/Images/OutliningIndicators/None.gif)
149
![](/Images/OutliningIndicators/None.gif)
150
![](/Images/OutliningIndicators/None.gif)
151
![](/Images/OutliningIndicators/None.gif)
152
![](/Images/OutliningIndicators/None.gif)
153
![](/Images/OutliningIndicators/None.gif)
154
![](/Images/OutliningIndicators/None.gif)
155
![](/Images/OutliningIndicators/None.gif)
156
![](/Images/OutliningIndicators/None.gif)
157
![](/Images/OutliningIndicators/None.gif)
158
![](/Images/OutliningIndicators/None.gif)
159
![](/Images/OutliningIndicators/None.gif)
160
![](/Images/OutliningIndicators/None.gif)
161
![](/Images/OutliningIndicators/None.gif)
162
![](/Images/OutliningIndicators/None.gif)
163
![](/Images/OutliningIndicators/None.gif)
164
![](/Images/OutliningIndicators/None.gif)
165
![](/Images/OutliningIndicators/None.gif)
166
![](/Images/OutliningIndicators/None.gif)
167
![](/Images/OutliningIndicators/None.gif)
168
![](/Images/OutliningIndicators/None.gif)
169
![](/Images/OutliningIndicators/None.gif)
170
![](/Images/OutliningIndicators/None.gif)
171
![](/Images/OutliningIndicators/None.gif)
172
![](/Images/OutliningIndicators/None.gif)
173
![](/Images/OutliningIndicators/None.gif)
174
![](/Images/OutliningIndicators/None.gif)
175
![](/Images/OutliningIndicators/None.gif)
176
![](/Images/OutliningIndicators/None.gif)
177
![](/Images/OutliningIndicators/None.gif)
178
![](/Images/OutliningIndicators/None.gif)
179
![](/Images/OutliningIndicators/None.gif)
作者:peterzb(个人开发历程知识库 -
博客园)
出处:http://peterzb.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。