懒人精灵安卓版获取目录下的文件,有两种方式。
lua方法
-- 获取指定目录下视频文件信息数组
function getCatalogVideo(catalogPath,formt)
local videoTb = {}
catalogPath = 辅助_确保路径以斜杠结尾(catalogPath) -- 在循环前处理一次路径
for file in lfs.dir(catalogPath) do
if file ~= '.' and file ~= '..' then
-- 遍历文件夹,获取扩展名
local ext = CFILE:getExtension(file) -- 'mp4'
-- print(ext ,lastFileExt)
if ext == formt then
local path = catalogPath .. file
local attr = lfs.attributes(path) --子目录或文件属性
table.insert(videoTb, {
name = file,
path = path,
attr = attr
})
end
end
end
return videoTb
end
go方法
// FileInfo 结构体用于存储文件信息
type FileInfo struct {
Name string `json:"name"` // 文件名
Path string `json:"path"` // 文件完整路径
ModifiedTime int64 `json:"modifiedTime"` // 最后修改时间(时间戳)
Size int64 `json:"size"` // 文件大小(字节)
}
// 获取指定目录下的文件信息
// 参数:
// dirPath: 目录路径
// fileExt: 文件扩展名(如"txt"、"png"等),如果为空则返回所有文件
// 返回值:
// string: JSON格式的文件信息列表
func GetFilesInfo(dirPath, fileExt string) string {
var files []FileInfo
// 确保目录路径以斜杠结尾
dirPath = EnsureTrailingSlash(dirPath)
// 读取目录内容
entries, err := os.ReadDir(dirPath)
if err != nil {
bridge.PrintLog(fmt.Sprintf("Error: 读取目录 %s 失败: %v", dirPath, err))
return "[]"
}
// 遍历目录中的每个条目
for _, entry := range entries {
// 跳过目录
if entry.IsDir() {
continue
}
// 如果指定了文件扩展名,检查文件扩展名是否匹配
if fileExt != "" {
ext := GetFileExtension(entry.Name())
if ext != fileExt {
continue
}
}
// 获取文件信息
info, err := entry.Info()
if err != nil {
bridge.PrintLog(fmt.Sprintf("Error: 获取文件 %s 信息失败: %v", entry.Name(), err))
continue
}
// 创建文件信息对象并添加到切片
fileInfo := FileInfo{
Name: info.Name(),
Path: dirPath + info.Name(),
ModifiedTime: info.ModTime().Unix(), // 使用Unix()获取时间戳
Size: info.Size(),
}
files = append(files, fileInfo)
}
// 将文件信息切片转换为JSON
jsonBytes, err := json.Marshal(files)
if err != nil {
bridge.PrintLog(fmt.Sprintf("Error: 转换文件信息为JSON失败: %v", err))
return "[]"
}
return string(jsonBytes)
}
实现过程:
- 定义了一个
FileInfo结构体,用于存储文件的各种信息 GetFilesInfo方法实现了以下功能:- 接收目录路径和文件扩展名作为参数
- 使用
os.ReadDir读取目录内容 - 根据文件扩展名过滤文件(如果指定了扩展名)
- 收集每个文件的详细信息(名称、路径、修改时间、大小)
- 将结果转换为 JSON 格式返回
方法特点:
- 支持按文件扩展名过滤
- 返回标准化的 JSON 格式数据
- 包含错误处理和日志记录
- 使用了
EnsureTrailingSlash方法确保路径格式正确
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】使用go获取目录下的文件信息
飞云脚本圈: 586333520

Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】使用go获取目录下的文件信息