转载于: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文件夹及文件操作的更多相关文章

  1. C#操作文件夹及文件的方法的使用

    本文收集了目前最为常用的C#经典操作文件的方法,具体内容如下:C#追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件.指定文件夹下面的所有内容copy到目标文件夹下面.指定文件夹下面的所有内容 ...

  2. 背水一战 Windows 10 (88) - 文件系统: 操作文件夹和文件

    [源码下载] 背水一战 Windows 10 (88) - 文件系统: 操作文件夹和文件 作者:webabcd 介绍背水一战 Windows 10 之 文件系统 创建文件夹,重命名文件夹,删除文件夹, ...

  3. Python 文件夹及文件操作

    import os import os.path from shutil import copy def copyfile(src, dst): count = 1 for filename in o ...

  4. Python文件夹与文件的操作(转)

    最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...

  5. Python学习(九)IO 编程 —— 文件夹及文件操作

    Python 文件夹及文件操作 我们经常会与文件和目录打交道,对于这些操作,python可以使用 os 及 shutill 模块,其中包含了很多操作文件和目录的函数. os 可以执行简单的文件夹及文件 ...

  6. Python文件夹与文件的操作 ZZ

    最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...

  7. Python对文件和文件夹的高级操作模块shutil

    shutil模块提供了许多关于文件和文件夹的高级操作. 特别提供了支持文件复制和删除的功能. # 将文件对象fsrc的内容复制到文件类对象fdst.length(可选参数)是缓冲区大小 shutil. ...

  8. Atitit.跨语言  文件夹与文件的io操作集合  草案

    Atitit.跨语言  文件夹与文件的io操作集合  草案 1. Jdk原生的太难用了..1 2. PS: apache commons-io包,FileUtils有相关的方法,IOUtils一般是拷 ...

  9. Asp.net对文件夹和文件的操作类

    using System; using System.IO; using System.Web; namespace SEC { /**//// /// 对文件和文件夹的操作类 /// public ...

  10. C# 文件操作 全收录 追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件....

    本文收集了目前最为常用的C#经典操作文件的方法,具体内容如下:C#追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件.指定文件夹下 面的所有内容copy到目标文件夹下面.指定文件夹下面的所有内 ...

随机推荐

  1. Quartz 使用教程

    首先说说,为什么要写这篇文章: Quartz 的 v2.3.2 版本改动比较大,目前网上的资料都是旧版本,很缺乏相关资料 很多资料讲解非常不全面,例如 Quartz Listener 的介绍和使用基本 ...

  2. 洛谷 P2440木材加工 题解

    这是一道二分答案算法题,洛谷标签中的贪心等完全用不到. 这道题的数据范围较大,所以保险起见,整型的数据我们都开成longlong 题意很好理解,这里就不做过多的分析了,直接看代码,后面有注释: #in ...

  3. Angular基础之ngFor遍历对象数组获取key和value渲染页面的几种方法

    Angular的ngFor遍历对象数组的几种方法 方法一 ts文件: export class MyDemo {   objectKeys = Object.keys;   myObj = { a: ...

  4. ThreadLocal 超强图解,这次终于懂了~

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 前言 大家好,我是小彭. 在前面的文章里,我们聊到了散列表的开放寻址法和分离链表法,也聊到了 HashMap ...

  5. 通过Nacos配置刷新进行RabbitMQ消费者在线启停

    前提 公司在做一些金融相关业务,某些时候由于数据提供商定期维护或者特殊原因需要暂停某些服务的消费者.之前选用的消息队列技术栈是RabbitMQ,用于微服务之间的消息投递,对于这类需要暂停消费者的场景是 ...

  6. STM32F4库函数初始化系列:三重ADC——DMA

    1 void _DMA_Configuration(void) 2 { 3 DMA_InitTypeDef DMA_InitStructure; 4 5 /* DMA2 Stream0 channel ...

  7. ROS多机通讯

    1.主机: sudo /etc/hosts 写入从机的地址和用户名: 192.168.31.14    raspi2 2.从机 sudo /etc/hosts 写入主机的地址和用户名 192.168. ...

  8. vue3语法糖+ts组件传值

    在开发中有些功能是通用的,而且逻辑大致相同,像这种东西可以封成一个组件,比较常用的就是函数封装,组件封装,组件封装是需要引入到页面使用的,所以通常它会有一些自己的方法,父子组件可以通过一些值来进行关联 ...

  9. vue+mysql实现前端对接数据库

    下载引入相关依赖 1.cnpm install --save mysql 2.cnpm install --save axios 3.cnpm install --save body-parser 4 ...

  10. Canvas:绘制圆形

    函数 arc(x, y, radius, startAngle, endAngle, counterclockwise) 参数名 描述 x.y 圆心坐标轴 radius 圆的半径 startAngle ...