zoukankan      html  css  js  c++  java
  • ASP文件操作的类


    <%
    Class Cls_FSO
    Public objFSO
    Private Sub Class_Initialize()
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    End Sub
    Private Sub class_terminate()
    Set objFSO = Nothing
    End Sub

    '=======文件操作========
    '取文件大小
    Public Function GetFileSize(FileName)
    Dim f
    If ReportFileStatus(FileName) = 1 Then
    Set f = objFSO.Getfile(FileName)
    GetFileSize = f.Size
    Else
    GetFileSize = -1
    End if
    End Function

    '文件删除
    Public Function deleteAFile(FileSpec)
    If ReportFileStatus(FileSpec) = 1 Then
    objFSO.deleteFile(FileSpec)
    deleteAFile = 1
    Else
    deleteAFile = -1
    End if
    End Function

    '显示文件列表
    Public Function ShowFileList(FolderSpec)
    Dim f, f1, fc, s
    If ReportFolderStatus(FolderSpec) = 1 Then
    Set f = objFSO.GetFolder(FolderSpec)
    Set fc = f.Files
    For Each f1 in fc
    s = s & f1.name
    s = s & "|"
    Next
    ShowFileList = s
    Else
    ShowFileList = -1
    End if
    End Function

    '文件复制
    Public Function CopyAFile(SourceFile, DestinationFile)
    Dim MyFile
    If ReportFileStatus(SourceFile) = 1 Then
    Set MyFile = objFSO.GetFile(SourceFile)
    MyFile.Copy (DestinationFile)
    CopyAFile = 1
    Else
    CopyAFile = -1
    End if
    End Function

    '文件移动
    Public Function MoveAFile(SourceFile,DestinationFile)
    If ReportFileStatus(SourceFile) = 1 And ReportFileStatus(DestinationFileORPath) = -1 Then
    objFSO.MoveFile SourceFile,DestinationFileORPath
    MoveAFile = 1
    Else
    MoveAFile = -1
    End if
    End Function

    '文件是否存在?
    Public Function ReportFileStatus(FileName)
    Dim msg
    msg = -1
    If (objFSO.FileExists(FileName)) Then
    msg = 1
    Else
    msg = -1
    End If
    ReportFileStatus = msg
    End Function

    '文件创建日期
    Public Function ShowDatecreated(FileSpec)
    Dim f
    If ReportFileStatus(FileSpec) = 1 Then
    Set f = objFSO.GetFile(FileSpec)
    ShowDatecreated = f.Datecreated
    Else
    ShowDatecreated = -1
    End if
    End Function

    '文件属性
    Public Function GetAttributes(FileName)
    Dim f
    Dim strFileAttributes
    If ReportFileStatus(FileName) = 1 Then
    Set f = objFSO.GetFile(FileName)
    select Case f.attributes
    Case 0 strFileAttributes = "普通文件。没有设置任何属性。 "
    Case 1 strFileAttributes = "只读文件。可读写。 "
    Case 2 strFileAttributes = "隐藏文件。可读写。 "
    Case 4 strFileAttributes = "系统文件。可读写。 "
    Case 16 strFileAttributes = "文件夹或目录。只读。 "
    Case 32 strFileAttributes = "上次备份后已更改的文件。可读写。 "
    Case 1024 strFileAttributes = "链接或快捷方式。只读。 "
    Case 2048 strFileAttributes = " 压缩文件。只读。"
    End select
    GetAttributes = strFileAttributes
    Else
    GetAttributes = -1
    End if
    End Function

    '最后一次访问/最后一次修改时间
    Public Function ShowFileAccessInfo(FileName,InfoType)
    '//功能:显示文件创建时信息
    '//形参:文件名,信息类别
    '// 1 -----创建时间
    '// 2 -----上次访问时间
    '// 3 -----上次修改时间
    '// 4 -----文件路径
    '// 5 -----文件名称
    '// 6 -----文件类型
    '// 7 -----文件大小
    '// 8 -----父目录
    '// 9 -----根目录
    Dim f, s
    If ReportFileStatus(FileName) = 1 then
    Set f = objFSO.GetFile(FileName)
    select Case InfoType
    Case 1 s = f.Datecreated
    Case 2 s = f.DateLastAccessed
    Case 3 s = f.DateLastModified
    Case 4 s = f.Path
    Case 5 s = f.Name
    Case 6 s = f.Type
    Case 7 s = f.Size
    Case 8 s = f.ParentFolder
    Case 9 s = f.RootFolder
    End select
    ShowFileAccessInfo = s
    ELse
    ShowFileAccessInfo = -1
    End if
    End Function

    '写文本文件
    Public Function WriteTxtFile(FileName,TextStr,WriteORAppendType)
    Const ForReading = 1, ForWriting = 2 , ForAppending = 8
    Dim f, m
    select Case WriteORAppendType
    Case 1: '文件进行写操作
    Set f = objFSO.OpenTextFile(FileName, ForWriting, True)
    f.Write TextStr
    f.Close
    If ReportFileStatus(FileName) = 1 then
    WriteTxtFile = 1
    Else
    WriteTxtFile = -1
    End if
    Case 2: '文件末尾进行写操作
    If ReportFileStatus(FileName) = 1 then
    Set f = objFSO.OpenTextFile(FileName, ForAppending)
    f.Write TextStr
    f.Close
    WriteTxtFile = 1
    Else
    WriteTxtFile = -1
    End if
    End select
    End Function

    '读文本文件
    Public Function ReadTxtFile(FileName)
    Const ForReading = 1, ForWriting = 2
    Dim f, m
    If ReportFileStatus(FileName) = 1 then
    Set f = objFSO.OpenTextFile(FileName, ForReading)
    m = f.ReadLine
    ReadTxtFile = m
    f.Close
    Else
    ReadTxtFile = -1
    End if
    End Function

    '建立文本文件

    '=======目录操作========
    '取目录大小
    Public Function GetFolderSize(FolderName)
    Dim f
    If ReportFolderStatus(FolderName) = 1 Then
    Set f = objFSO.GetFolder(FolderName)
    GetFolderSize = f.Size
    Else
    GetFolderSize = -1
    End if
    End Function

    '创建的文件夹
    Public Function createFolderDemo(FolderName)
    Dim f
    If ReportFolderStatus(Folderspec) = 1 Then
    createFolderDemo = -1
    Else
    Set f = objFSO.createFolder(FolderName)
    createFolderDemo = 1
    End if
    End Function

    '目录删除
    Public Function deleteAFolder(Folderspec)
    Response.write Folderspec
    If ReportFolderStatus(Folderspec) = 1 Then
    objFSO.deleteFolder (Folderspec)
    deleteAFolder = 1
    Else
    deleteAFolder = -1
    End if
    End Function

    '显示目录列表
    Public Function ShowFolderList(FolderSpec)
    Dim f, f1, fc, s
    If ReportFolderStatus(FolderSpec) = 1 Then
    Set f = objFSO.GetFolder(FolderSpec)
    Set fc = f.SubFolders
    For Each f1 in fc
    s = s & f1.name
    s = s & "|"
    Next
    ShowFolderList = s
    Else
    ShowFolderList = -1
    End if
    End Function

    '目录复制
    Public Function CopyAFolder(SourceFolder,DestinationFolder)
    objFSO.CopyFolder SourceFolder,DestinationFolder
    CopyAFolder = 1
    CopyAFolder = -1
    End Function


    '目录进行移动
    Public Function MoveAFolder(SourcePath,DestinationPath)
    If ReportFolderStatus(SourcePath)=1 And ReportFolderStatus(DestinationPath)=0 Then
    objFSO.MoveFolder SourcePath, DestinationPath
    MoveAFolder = 1
    Else
    MoveAFolder = -1
    End if
    End Function

    '判断目录是否存在
    Public Function ReportFolderStatus(fldr)
    Dim msg
    msg = -1
    If (objFSO.FolderExists(fldr)) Then
    msg = 1
    Else
    msg = -1
    End If
    ReportFolderStatus = msg
    End Function

    '目录创建时信息
    Public Function ShowFolderAccessInfo(FolderName,InfoType)
    '//功能:显示目录创建时信息
    '//形参:目录名,信息类别
    '// 1 -----创建时间
    '// 2 -----上次访问时间
    '// 3 -----上次修改时间
    '// 4 -----目录路径
    '// 5 -----目录名称
    '// 6 -----目录类型
    '// 7 -----目录大小
    '// 8 -----父目录
    '// 9 -----根目录
    Dim f, s
    If ReportFolderStatus(FolderName) = 1 then
    Set f = objFSO.GetFolder(FolderName)
    select Case InfoType
    Case 1 s = f.Datecreated
    Case 2 s = f.DateLastAccessed
    Case 3 s = f.DateLastModified
    Case 4 s = f.Path
    Case 5 s = f.Name
    Case 6 s = f.Type
    Case 7 s = f.Size
    Case 8 s = f.ParentFolder
    Case 9 s = f.RootFolder
    End select
    ShowFolderAccessInfo = s
    ELse
    ShowFolderAccessInfo = -1
    End if
    End Function

    '遍历目录
    Public Function DisplayLevelDepth(pathspec)
    Dim f, n ,Path
    Set f = objFSO.GetFolder(pathspec)
    If f.IsRootFolder Then
    DisplayLevelDepth ="指定的文件夹是根文件夹。"&RootFolder
    Else
    Do Until f.IsRootFolder
    Path = Path & f.Name &"<br>"
    Set f = f.ParentFolder
    n = n + 1
    Loop
    DisplayLevelDepth ="指定的文件夹是嵌套级为 " & n & " 的文件夹。<br>" & Path
    End If
    End Function

    '========磁盘操作========
    '驱动器是否存在?
    Public Function ReportDriveStatus(drv)
    Dim msg
    msg = -1
    If objFSO.DriveExists(drv) Then
    msg = 1
    Else
    msg = -1
    End If
    ReportDriveStatus = msg
    End Function

    '可用的返回类型包括 FAT、NTFS 和 CDFS。
    Public Function ShowFileSystemType(drvspec)
    Dim d
    If ReportDriveStatus(drvspec) = 1 Then
    Set d = objFSO.GetDrive(drvspec)
    ShowFileSystemType = d.FileSystem
    ELse
    ShowFileSystemType = -1
    End if
    End Function
    End Class
    %>

  • 相关阅读:
    基础学习笔记之opencv(9):Mat图像扫描
    Android开发历程_7(ListView和ProgressBar控件的学习)
    基础学习笔记之opencv(13):基本绘图
    Qt学习之路_5(Qt TCP的初步使用)
    基础学习笔记之opencv(7):ubuntu下opencv在Qt中的使用
    EM算法学习笔记_1(对EM算法的简单理解)
    Android开发历程_1(从1个activity跳转到另一个activity)
    Matlab成长之路_1(图片,视频,摄像头的读取和显示)
    深入理解JavaScript系列(41):设计模式之模板方法
    深入理解JavaScript系列(44):设计模式之桥接模式
  • 原文地址:https://www.cnblogs.com/mingyan/p/1491295.html
Copyright © 2011-2022 走看看