转载于: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. Apache IoTDB C# SDK Apache-IoTDB-Client-CSharp

    最近今天写了IoTDB的三篇相关文章,完成了安装部署和客户端连接: Windows Server上部署IoTDB 集群 DBeaver 连接IoTDBDriver 将IoTDB注册为Windows服务 ...

  2. WPF-3D图形

    WPF-3D图形 WPF的3D功能可以在不编写任何c#代码的情况下进行绘制,只需要使用xaml即可完成3D图形的渲染.本文主要讲述了WPF-3D中的关键概念, 以及常用到的命中测试.2d控件如何在3D ...

  3. 超级容易理解的Three.js中的物体rotation

    假设模特头朝着自己现在躺在地上 那么改变Y就是等于躺着转圈圈 mesh.rotation.set( 0,Math.PI/1.2,0); 改变X就意味着,这个是本来模特头朝着自己躺着,然后站起来了,后脑 ...

  4. 使用pyenv对python进行版本控制—很好用

    相对于python自带的virtualenv来说,pyenv的使用要便利些,更不用说自带的插件python-virtualenv,创建虚拟环境就更为方便了,其实最让我心水的功能是创建的虚拟环境,进入设 ...

  5. java入门与进阶 P-2.7+P-3.1

    判断语句常见错误 忘了大括号 永远在if和else后面加上大括号,即使当时后面只有一条语句 if后面的分号 错误使用== 和= if只要求()里面的值是零或者非零 = 是赋值 == 是判断是否相同 代 ...

  6. 主线程-创建Thread类的子类

    主线程 Java使用java.lang.Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例.每个线程的作用是完成一定的任务,实际上就是执行一段程序流即一段顺序执行的代码.Jav ...

  7. DataX插件二次开发指南

    一. DataX为什么要使用插件机制? 从设计之初,DataX就把异构数据源同步作为自身的使命,为了应对不同数据源的差异.同时提供一致的同步原语和扩展能力,DataX自然而然地采用了框架 + 插件 的 ...

  8. 9月22日内容总结——计算机五大组成部分详解、编程语言及发展史、python解释器安装与环境变量设置

    内容总结 目录 内容总结 一.计算机五大组成部分详细介绍 1.控制器 2.运算器 3.存储设备 4.输入设备 5.输出设备 二.计算机三大核心硬件 1. cpu 2.内存 举例:写文档时,突然关机了. ...

  9. FAQ selenium无法click的一个案例分享(1)

    案例描述 http://sahitest.com/demo/php/fileUpload.htm 来自助教咨询 点击网页的第一个选择文件,如图 示例代码  from selenium import w ...

  10. 【学习日志】MySQL分表与索引的关系

    什么情况下需要分表呢?分表又能解决什么问题呢? 一般情况下分表的直接原因是数据量太大了,比如一张表一共只有1w条数据,确实没必要分表.为什么数据量大了就需要分表呢?首先得看看数量量过大后会带来什么问题 ...