AndroluaDocs AndroluaDocs
首页
文章
项目
资源
GitLab (opens new window)
首页
文章
项目
资源
GitLab (opens new window)
  • Lua

    • Lua初见
    • Lua语法学习
    • 数组
    • 函数&回调
  • 开发者素质基础
  • 安卓开发基础

    • 认识安卓开发
    • 认识activity
  • 制作第一个程序
  • 界面设计

    • 布局认知和Aly介绍
    • 布局表及控件认知
    • 自定义控件
    • 列表于相关实现
    • 布局动画相关
  • 数据处理

    • 各种格式的文件及解析方法
    • 正则表达式及lua字符串操作
    • 各种算法实现及数据安全
    • 软件数据存取策略
    • 文件压缩移动等
  • 网络相关

    • 常用网络库的使用
    • Api对接实践
    • Okhttp&Jsoup库使用
  • 系统操作

    • 应用软件间通信
    • 应用与硬件的交互
  • 源码安全

    • 框架原生保护与原理
    • 常用加密原理与实践
  • 文章
  • 数据处理
可可
2022-06-23

文件压缩移动等

# LuaUtil 工具库

复制文件或文件夹,from 源路径,to 目标路径。

LuaUtil.copyDir(from,to)

删除文件夹,path 文件路径

LuaUtil.rmDir(path)

压缩文件或文件夹,from 源路径,dir 目标文件夹,name zip文件名称。

LuaUtil.zip(from,dir,name)

解压文件,from zip文件路径,to 目标路径。

LuaUtil.unZip(from,to)

获取文件MD5值, path 文件路径。

LuaUtil.getFileMD5(path)

获取文件Sha1值, path 文件路径。

LuaUtil.getFileSha1(path)

# Java File类

需要先导入才能使用File类

import "java.io.File"--导入File类

创建新文件

File(文件路径).createNewFile()

创建文件夹,如果父级路径不存在,则文件夹创建失败

File(文件夹路径).mkdir()

创建多级文件夹,如果父级路径不存在,则自动创建父级路径,再创建子级路径

File(文件夹路径).mkdirs()

重命名与移动文件

File(旧路径).renameTo(File(新路径))

删除文件或文件夹,不能删除非空文件夹

File(路径).delete()

判断文件或文件夹是否存在

File(路径).exists()

判断是不是文件

File(文件路径).isFile()

判断是不是文件夹

File(文件夹路径).isDirectory()

判断当前路径是否是绝对路径

File(路径).isAbsolute()

判断是不是系统隐藏文件

File(路径).isHidden()

获取文件的字节个数,只能针对文件使用,不能针对文件夹使用

File(文件路径).length()

获取文件的最后修改时间,返回毫秒值

File(文件路径).lastModified()

获取文件夹中的所有内容的名称列表

文件列表=luajava.astable(File(文件夹路径).list())

获取文件夹中的所有内容的路径列表

文件列表=luajava.astable(File(文件夹路径).listFiles())

获取文件的绝对路径,返回File对象

File(路径).getAbsoluteFile()

获取文件的绝对路径,返回路径的字符串

File(路径).getAbsolutePath()

获取当前路径的父级路径,以字符串形式返回该父级路径

File(路径).getParent()

获取当前路径的父级路径,返回File对象

File(路径).getParentFile()

获取文件或文件夹的名称

File(路径).getName()

获取相对路径

File(路径).getPath()

获取绝对路径

File(路径).getAbsolutePath()

lua手册中还演示了另一种压缩文件的java方法,在此贴出

import "java.io.FileOutputStream"
import "java.util.zip.ZipFile"
import "java.io.File"

zipfile = "/sdcard/压缩包.zip"--压缩文件路径和文件名
sdpath = "/sdcard/文件.lua"--解压后路径和文件名
zipfilepath = "内容.lua"--需要解压的文件名

function unzip(zippath , outfilepath , filename)

  local time=os.clock()
  task(function(zippath,outfilepath,filename)
    require "import"
    import "java.util.zip.*"
    import "java.io.*"
    local file = File(zippath)
    local outFile = File(outfilepath)
    local zipFile = ZipFile(file)
    local entry = zipFile.getEntry(filename)
    local input = zipFile.getInputStream(entry)
    local output = FileOutputStream(outFile)
    local byte=byte[entry.getSize()]
    local temp=input.read(byte)
    while temp ~= -1 do
      output.write(byte)
      temp=input.read(byte)
    end
    input.close()
    output.close()
  end,zippath,outfilepath,filename,
  function()
    print("解压完成,耗时 "..os.clock()-time.." s")
  end)

end

unzip(zipfile,sdpath,zipfilepath)
Gitlab在线编辑&贡献你的智慧 (opens new window)
上次更新: 2022/08/03, 09:42:19
软件数据存取策略
常用网络库的使用

← 软件数据存取策略 常用网络库的使用→

Theme by Vdoing | Copyright © 2022-2022 Created by coco | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式