Lua文件夹及文件操作
转载于:CSDN-刘长栋
-[[
@引用:require("FileLib")
@调用:fileLib.createFolder(path)
@功能:
1.创建文件夹
2.连续创建文件夹
3.删除文件夹所有内容
4.删除空文件夹/文件
5.获取某个文件夹下的所有文件
6.获取文件夹下的一级文件及文件夹table
7.判断文件是否存在
8.判断文件夹是否存在
]]--
fileLib={
--@作者:Andy Lau
--作用:创建文件夹
--参数: path——>创建文件夹的路径
--返回值:无
--设备:ios(已测)
--时间:2017.9.27
createFolder=function(path)
os.execute("mkdir "..path)
end;
--@作者:Andy Lau
--作用:连续创建文件夹,一次性创建你想要的文件夹
--参数: path——>创建文件夹的路径
--返回值:无
--设备:ios(已测)
--时间:2017.9.27
createAllFolder=function(path)
local path_tb={}
local new_path=""
-- 分割路径保存到table
for s in string.gmatch(path,"([^'/']+)") do
if s~=nil then
table.insert(path_tb,s)
end
end
-- 遍历并拼接路径检测是否存在,不存在则新建
for k,v in ipairs(path_tb) do
if k==1 then
new_path=v
else
new_path=new_path.."/"..v
end
if os.execute("cd "..new_path) then
print(new_path.." exist")
else
print(new_path.." do not exist")
os.execute("mkdir "..new_path)
end
end
print("create suc")
end;
--@作者:Andy Lau
--作用:清楚文件夹下所有文件,连带删除文件夹
--参数: folderPath——>需要删除的文件夹路径
--返回值:无
--设备:ios(已测)
--时间:2017.9.27
deleteAllFolder=function(folderPath)
os.execute("rm -rf "..folderPath)
end;
--@作者:Andy Lau
--作用:删除空文件夹/文件
--参数: folderPath——>需要删除的空文件夹/文件路径
--返回值:无
--设备:ios(已测)
--时间:2017.9.27
deleteAllFolder=function(folderPath)
os.remove(folderPath)
end;
--@作者:Andy Lau
--作用:获取某个文件夹下所有的文件
--参数: folderPath——>需要删除的空文件夹/文件路径 backupPath->备份输出文件路径
--返回值:file_tb->所有文件的全路径名table
--设备:ios(已测)
--时间:2017.9.27
getAllFileInFolder=function(folderPath,backupPath)
local file_tb={}
local fileList={};
local newPath=""
local f=io.open(backupPath.."/file.txt",'a')
fileList=fileLib.getFileList(folderPath)
for i= 1, #fileList do
if string.find(fileList[i],"%.")==nil then
newPath=folderPath.."/"..fileList[i];
fileLib.getAllFileInFolder(newPath,backupPath)
else
f:write(folderPath.."/"..fileList[i].."\n")
end
end
f:close();
end;
--@作者:Andy Lau
--作用:获取文件夹下的一级文件及文件夹table
--参数: path——>遍历文件的路径
--返回值:fileTable->文件table
--时间:2017.8.31
getFileList=function(path)
local a = io.popen("ls "..path.."/");
local fileTable = {};
if a==nil then
else
for l in a:lines() do
table.insert(fileTable,l)
end
end
return fileTable;
end;
--@作者:Andy Lau
--作用:判断文件是否存在
--参数: path——>文件夹路径
--返回值:true/false ——>是否存在
--时间:2017.9.27
isFileExist=function(path)
f=io.open(path,"w")
return f~=nil and f:close();
end;
--@作者:Andy Lau
--作用:判断文件夹是否存在
--参数: folderPath——>文件夹路径
--返回值:true/false ——>是否存在
--时间:2017.9.27
isFolderExist=function (folderPath)
return os.execute("cd "..folderPath)
end
}
Lua文件夹及文件操作的更多相关文章
- C#操作文件夹及文件的方法的使用
本文收集了目前最为常用的C#经典操作文件的方法,具体内容如下:C#追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件.指定文件夹下面的所有内容copy到目标文件夹下面.指定文件夹下面的所有内容 ...
- 背水一战 Windows 10 (88) - 文件系统: 操作文件夹和文件
[源码下载] 背水一战 Windows 10 (88) - 文件系统: 操作文件夹和文件 作者:webabcd 介绍背水一战 Windows 10 之 文件系统 创建文件夹,重命名文件夹,删除文件夹, ...
- Python 文件夹及文件操作
import os import os.path from shutil import copy def copyfile(src, dst): count = 1 for filename in o ...
- Python文件夹与文件的操作(转)
最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...
- Python学习(九)IO 编程 —— 文件夹及文件操作
Python 文件夹及文件操作 我们经常会与文件和目录打交道,对于这些操作,python可以使用 os 及 shutill 模块,其中包含了很多操作文件和目录的函数. os 可以执行简单的文件夹及文件 ...
- Python文件夹与文件的操作 ZZ
最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...
- Python对文件和文件夹的高级操作模块shutil
shutil模块提供了许多关于文件和文件夹的高级操作. 特别提供了支持文件复制和删除的功能. # 将文件对象fsrc的内容复制到文件类对象fdst.length(可选参数)是缓冲区大小 shutil. ...
- Atitit.跨语言 文件夹与文件的io操作集合 草案
Atitit.跨语言 文件夹与文件的io操作集合 草案 1. Jdk原生的太难用了..1 2. PS: apache commons-io包,FileUtils有相关的方法,IOUtils一般是拷 ...
- Asp.net对文件夹和文件的操作类
using System; using System.IO; using System.Web; namespace SEC { /**//// /// 对文件和文件夹的操作类 /// public ...
- C# 文件操作 全收录 追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件....
本文收集了目前最为常用的C#经典操作文件的方法,具体内容如下:C#追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件.指定文件夹下 面的所有内容copy到目标文件夹下面.指定文件夹下面的所有内 ...
随机推荐
- Nodejs后端自动化测试
偶然看到收藏一下 const puppeteer = require('puppeteer'); const fs = require('fs'); (async () => { const b ...
- Blazor入门100天 : 身份验证和授权 (2) - 角色/组件/特性/过程逻辑
目录 建立默认带身份验证 Blazor 程序 `角色/组件/特性/过程逻辑 DB 改 Sqlite 将自定义字段添加到用户表 脚手架拉取IDS文件,本地化资源 freesql 生成实体类,freesq ...
- 【总结笔记】全志平台 Linux ASOC 框架浅析
ASOC 各部分框图示意 Platform 一般由 SOC 芯片原厂负责编写,主要涉及到 SOC 内部数字音频接口DAI(I2S)和 DMA 的寄存器配置. Codec 一般由硬件方案的驱动工程师或者 ...
- windows右键菜单扩展
今天给大家分享一个我做的小工具,可以自定义扩展右键菜单的功能来提高工作效率,效果图如下: image 如上图,右键菜单多了几个我自定义的菜单 复制文件路径 复制文件夹路径 我的工具箱 <走配置文 ...
- ClickHouse(12)ClickHouse合并树MergeTree家族表引擎之AggregatingMergeTree详细解析
目录 建表语法 查询和插入数据 数据处理逻辑 ClickHouse相关资料分享 AggregatingMergeTree引擎继承自 MergeTree,并改变了数据片段的合并逻辑.ClickHouse ...
- 【亲妈教学】配置Gzip压缩,含前后端步骤
前言 在使用 vite 进行项目打包时,默认已经帮我们做了一些优化工作,比如代码的压缩,分包等等. 除此之外,我们还有一些可选的优化策略,比如使用 CDN ,开启 Gzip 压缩等.本文会介绍在 vi ...
- c++标准库string的使用完美总结——十分详细,复习学习记忆都可以使用
std::string详解 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足 ...
- P28_全局配置 - 常用的全局配置项以及小程序窗口的组成部分
全局配置文件及常用的配置项 pages 记录当前小程序所有页面的存放路径 window 全局设置小程序窗口的外观 tabBar 设置小程序底部的 tabBar 效果 style 是否启用新版的组件样式 ...
- JavaScript 日期和时间的格式化
一.日期和时间的格式化 1.原生方法 1.1.使用 toLocaleString 方法 Date 对象有一个 toLocaleString 方法,该方法可以根据本地时间和地区设置格式化日期时间.例如: ...
- 学习Java Day21
今天学习了静态导入,可以导入静态方法和静态字段