关于码栈

3.文件相关函数

3.1 J_File_MaxCount(文件路径)

作用:获取文件里面一共有多少行
返回值:获取文件里面一共有多少行
例子:

Func Example31()
    ;声明一个名为$filepath的局域变量,创建一个文件选择对话框,用户可以选择文件,返回选择的文件路径,并将此路径保存至$filepath变量中
    Local $filepath = J_File_OpenDialog()
    ;声明一个名为$max的局域变量,将$filepath文件里面内容行数保存至这个变量中
    Local $max = J_File_MaxCount($filepath)
    ;创建一个循环,从1到$max
    For $i = 1 To $max
        ;声明一个名为$nr的局域变量,将$filepath文件里面第$i行的内容保存至这个变量中
        Local $nr = J_File_Read($filepath, $i)
        ;@crlf的意思是换行符,另起一行
        ;通过系统信息提示框显示拼凑的文本
        J_MsgBox("第" & $i & "行" & @CRLF & $nr)
        ;下一次循环
    Next
    ;当读取文件内容第几行设置为0的时候,此函数会读取文件中的全部文本
    Local $alltext = J_File_Read($filepath, 0)
    J_MsgBox($alltext)
    ;向文件尾部追加数据
    J_File_Write($filepath, "追加一条数据", "追加")
    Local $alltext = J_File_Read($filepath, 0)
    ;校验追加的数据是否成功
    J_MsgBox($alltext)
    ;把文件的数据替换掉
    J_File_Write($filepath, "覆盖过后的数据", "覆盖")
    Local $alltext = J_File_Read($filepath, 0)
    ;校验覆盖的数据是否成功
    J_MsgBox($alltext)
EndFunc   ;==>Example31

3.2 J_File_OpenDialog([标题默认:请选择文件])

作用:用于弹出一个文件选择窗口
返回值:用户选择文件的路径
例子:

Func Example31()
    ;声明一个名为$filepath的局域变量,创建一个文件选择对话框,用户可以选择文件,返回选择的文件路径,并将此路径保存至$filepath变量中
    Local $filepath = J_File_OpenDialog()
    ;声明一个名为$max的局域变量,将$filepath文件里面内容行数保存至这个变量中
    Local $max = J_File_MaxCount($filepath)
    ;创建一个循环,从1到$max
    For $i = 1 To $max
        ;声明一个名为$nr的局域变量,将$filepath文件里面第$i行的内容保存至这个变量中
        Local $nr = J_File_Read($filepath, $i)
        ;@crlf的意思是换行符,另起一行
        ;通过系统信息提示框显示拼凑的文本
        J_MsgBox("第" & $i & "行" & @CRLF & $nr)
        ;下一次循环
    Next
    ;当读取文件内容第几行设置为0的时候,此函数会读取文件中的全部文本
    Local $alltext = J_File_Read($filepath, 0)
    J_MsgBox($alltext)
    ;向文件尾部追加数据
    J_File_Write($filepath, "追加一条数据", "追加")
    Local $alltext = J_File_Read($filepath, 0)
    ;校验追加的数据是否成功
    J_MsgBox($alltext)
    ;把文件的数据替换掉
    J_File_Write($filepath, "覆盖过后的数据", "覆盖")
    Local $alltext = J_File_Read($filepath, 0)
    ;校验覆盖的数据是否成功
    J_MsgBox($alltext)
EndFunc   ;==>Example31

3.3 J_File_Read(文件路径,第几行)

作用:获取文件里面某一行的数据,当行号为0的时候默认读取全部内容
返回值:返回文件指定行的内容

例子:

Func Example31()
    ;声明一个名为$filepath的局域变量,创建一个文件选择对话框,用户可以选择文件,返回选择的文件路径,并将此路径保存至$filepath变量中
    Local $filepath = J_File_OpenDialog()
    ;声明一个名为$max的局域变量,将$filepath文件里面内容行数保存至这个变量中
    Local $max = J_File_MaxCount($filepath)
    ;创建一个循环,从1到$max
    For $i = 1 To $max
        ;声明一个名为$nr的局域变量,将$filepath文件里面第$i行的内容保存至这个变量中
        Local $nr = J_File_Read($filepath, $i)
        ;@crlf的意思是换行符,另起一行
        ;通过系统信息提示框显示拼凑的文本
        J_MsgBox("第" & $i & "行" & @CRLF & $nr)
        ;下一次循环
    Next
    ;当读取文件内容第几行设置为0的时候,此函数会读取文件中的全部文本
    Local $alltext = J_File_Read($filepath, 0)
    J_MsgBox($alltext)
    ;向文件尾部追加数据
    J_File_Write($filepath, "追加一条数据", "追加")
    Local $alltext = J_File_Read($filepath, 0)
    ;校验追加的数据是否成功
    J_MsgBox($alltext)
    ;把文件的数据替换掉
    J_File_Write($filepath, "覆盖过后的数据", "覆盖")
    Local $alltext = J_File_Read($filepath, 0)
    ;校验覆盖的数据是否成功
    J_MsgBox($alltext)
EndFunc   ;==>Example31

3.4 J_File_Write(文件路径,写入内容,[模式:追加/覆盖])

作用:写入文件数据,默认追加模式,当文件不存在的时候会自动创建,模式分为追加:向文件末尾追加要写入的内容;覆盖:把原始文件内容替换为要写入的内容。
返回值:成功返回1,失败返回0
例子:

Func Example31()
    ;声明一个名为$filepath的局域变量,创建一个文件选择对话框,用户可以选择文件,返回选择的文件路径,并将此路径保存至$filepath变量中
    Local $filepath = J_File_OpenDialog()
    ;声明一个名为$max的局域变量,将$filepath文件里面内容行数保存至这个变量中
    Local $max = J_File_MaxCount($filepath)
    ;创建一个循环,从1到$max
    For $i = 1 To $max
        ;声明一个名为$nr的局域变量,将$filepath文件里面第$i行的内容保存至这个变量中
        Local $nr = J_File_Read($filepath, $i)
        ;@crlf的意思是换行符,另起一行
        ;通过系统信息提示框显示拼凑的文本
        J_MsgBox("第" & $i & "行" & @CRLF & $nr)
        ;下一次循环
    Next
    ;当读取文件内容第几行设置为0的时候,此函数会读取文件中的全部文本
    Local $alltext = J_File_Read($filepath, 0)
    J_MsgBox($alltext)
    ;向文件尾部追加数据
    J_File_Write($filepath, "追加一条数据", "追加")
    Local $alltext = J_File_Read($filepath, 0)
    ;校验追加的数据是否成功
    J_MsgBox($alltext)
    ;把文件的数据替换掉
    J_File_Write($filepath, "覆盖过后的数据", "覆盖")
    Local $alltext = J_File_Read($filepath, 0)
    ;校验覆盖的数据是否成功
    J_MsgBox($alltext)
EndFunc   ;==>Example31    
        5.5 J_File_Create(文件路径) 
            作用:创建一个文件。
            返回值:返回1
             例子:
Func Example31_1()
    J_File_Create("D:\1.txt")
EndFunc   ;==>Example31_1

3.5 J_File_PathToAllFileName(文件夹路径)

作用:获得文件夹下面全部的文件名称集合,可以配合J_EXP系列函数使用
返回值:返回文件夹下所有文件的集合
例子:

Func Example46()
    ;获得文件夹下所有文件的集合
    Local $file_all = J_File_PathToAllFileName("D:\file\")
    ;查看集合文件的个数
    Local $max = UBound($file_all)
    ;创建一个For循环,用来遍历全部文件
    For $i = 0 To $max - 1
        ;取出当前循环文件的名称
        Local $file = $file_all[$i]
        ;在当前“我的工具”视图中创建这条数据
        J_Msgbox($file)
    Next
EndFunc   ;==>Example46

3.6 J_File(文件(夹)路径,动作,值)

作用:文件的一些基础操作。
入参:动作可选值:
新建文件/删除文件/复制文件/移动文件/文件改名/获取文件大小
新建文件夹/删除文件夹/复制文件夹/移动文件夹/文件夹改名/获取文件夹大小/打开文件夹
获取创建时间/获取修改时间
返回值:成功返回1,失败返回0


    func Example47()
        ;文件夹操作:
        local $path = 'D:\file\测试文件'
        local $res = J_File($path,"是否存在")
        ;新建
        if $res = 0 then
            J_File($path,"新建文件夹")
        EndIf
        ;移动
        J_File($path,"移动文件夹","C:\file\测试文件")
        ;复制
        J_File("C:\file\测试文件","复制文件夹","D:\file\测试文件new")
        ;改名
        J_File("D:\file\测试文件new","文件夹改名","D:\file\测试文件rename")
        ;文件夹大小
        local $size = J_File("D:\code","获取文件夹大小")
        Msgbox(0,"","大小(MB) :" & Round($size / 1024 / 1024))
        ;删除文件夹
        J_File("D:\nw2","删除文件夹")

        ;文件操作:
        local $filepath = 'D:\file\测试文件rename\11.txt'
        $res = J_File($filepath,"是否存在")
        ;新建
        if $res = 0 then
            J_File($filepath,"新建文件")
        EndIf
        ;写值
        J_File_Write($filepath,'你好,码栈',"追加")
        ;获取大小
        local $size = J_File($filepath,"获取文件大小")
        j_msgbox("文件大小:字节" & $size)

        ;移动:将文件移动到目录:C:\file\测试文件下
        J_File($filepath,"移动文件","C:\file\测试文件")

        ;复制:将文件复制到目录:D:\file下
        J_File($filepath,"复制文件","D:\file")

        ;改名
        J_File($filepath,"文件改名","C:\file\测试文件\22.txt")

        ;删除文件
        J_File($filepath,"删除文件")

        ;获取创建时间:返回 年月日时分秒
        local $createDt = J_FILE($name, '获取创建时间')
        j_msgbox('创建时间:' & $createDt)

        ;获取修改时间:返回年月日时分秒
        local $modifyDt = J_FILE($name, '获取修改时间')
        J_MsgBox('修改时间' & $modifyDt)

        ;打开文件夹:将会打开文件管理器,打开指定的文件夹
        J_FILE('D:\个人', '打开文件夹')
    endfunc; ==>

3.7 J_File_Convert(转换前文件名,转换前文件类型,转换后文件名,转换后文件类型,参数)

作用:文件格式转换。
入参:目前支持的格式:
docx-> pdf
docx-> html
xlsx -> pdf
xlsx -> html
html -> pdf
注: docx是word的文件格式,文件名后缀支持.doc .docx
xlsx是excel的文件格式,文件名后缀支持 .xls .xlsx

返回值:成功返回1,失败返回0


    func Example48()
        ;1、11.doc文件转成pdf
        local $result = J_File_Convert('D:\11.doc', 'docx', 'D:\conver\11docconver.pdf', 'pdf')
        if $result = 0 then
            J_MsgBox('doc转换成pdf失败:' & J_GetErrorMsg())
        EndIf
        ;2、22.docx文件转成pdf
        $result = J_File_Convert('D:\22.docx', 'docx', 'D:\conver\22docxconver.pdf', 'pdf')
        if $result = 0 then
            J_MsgBox('doc转换成pdf转换失败:' & J_GetErrorMsg())
        EndIf
        ;3、11.doc文件转成html
        $result = J_File_Convert('D:\11.doc', 'docx', 'D:\conver\11docconver.html', 'html')
        if $result = 0 then
            J_MsgBox('doc转换成html转换失败:' & J_GetErrorMsg())
        EndIf
        ;4、22.docx文件转成html
        $result = J_File_Convert('D:\22.docx', 'docx', 'D:\conver\22docxconver.html', 'html')
        if $result = 0 then
            J_MsgBox('doc转换成pdf转换失败:' & J_GetErrorMsg())
        EndIf
        ;5、33.xls文件转成pdf
        $result = J_File_Convert('D:\33.xls', 'xlsx', 'D:\conver\33docconver.pdf', 'pdf')
        if $result = 0 then
            J_MsgBox('xls转换pdf失败:' & J_GetErrorMsg())
        EndIf
        ;6、44.xlsx转成pdf
        $result = J_File_Convert('D:\44.xlsx', 'xlsx', 'D:\conver\44docxconver.pdf', 'pdf')
        if $result = 0 then
            J_MsgBox('xls转换pdf转换失败:' & J_GetErrorMsg())
        EndIf
        ;7、33.xls文件转成html
        $result = J_File_Convert('D:\33.xls', 'xlsx', 'D:\conver\33docconver.html', 'html')
        if $result = 0 then
            J_MsgBox('xls转换html转换失败:' & J_GetErrorMsg())
        EndIf
        ;8、44.xlsx文件转成html
        $result = J_File_Convert('D:\44.xlsx', 'xlsx', 'D:\conver\44docxconver.html', 'html')
        if $result = 0 then
            J_MsgBox('xls转换html转换失败:' & J_GetErrorMsg())
        EndIf
        ;9、网页 https://codestore.taobao.com/index.htm 转成pdf
        $result = J_File_Convert('https://codestore.taobao.com/index.htm', 'html', 'D:\conver\官网首页.pdf', 'pdf')
        if $result = 0 then
            J_MsgBox('html转换pdf失败:' & J_GetErrorMsg())
        EndIf
        ;10、本地网页file:///D:/conver/22docxconver.html 转成pdf
        $result = J_File_Convert('file:///D:/conver/22docxconver.html', 'html', 'D:\conver\本地页面.pdf', 'pdf')
        if $result = 0 then
            J_MsgBox('html转换pdf失败:' & J_GetErrorMsg())
        EndIf
        ;11、若网页中存在动态加载,可以加延迟:在参数中填delayTime=延迟时间(单位毫秒) 1000毫秒=1s
        ;如下:网页 https://codestore.taobao.com/index.htm 转成pdf
        $result = J_File_Convert('https://codestore.taobao.com/index.htm', 'html', 'D:\conver\官网首页2.pdf', 'pdf', 'delayTime=10000')
        if $result = 0 then
            J_MsgBox('html转换pdf失败:' & J_GetErrorMsg())
        EndIf
    endfunc   ;==>Example48