发帖
充值
 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
首页源码分享懒人精灵_文件字符串操作_读一行删一行 ...

懒人精灵_文件字符串操作_读一行删一行

20
回复
13545
查看
[ 复制链接 ]
已绑定手机

46

主题

118

回帖

2831

积分

版主

积分
2831
2021-11-13 10:53:53 显示全部楼层 阅读模式
测试文件名为:ip.txt 解压到模拟器目录路径 /mnt/sdcard/Pictures/ 下. 也可以自行创建txt文件.
测试文件下载:
上传的附件: ip.zip (260 Bytes, 下载次数: 51)

执行一下代码:

  1. FILETAB = {}                                                 -- 全局变量
  2. function GetFileData(filepath)
  3.         -- 获取本地文本文件路径,用于存储至表里
  4.         local number = 1
  5.         for line in io.lines(filepath) do
  6.                 if line == nil then
  7.                         print("文件数据错误")
  8.                         return false
  9.                 end
  10.                 print(line,'\n')
  11.                 FILETAB[number] = line
  12.                 number = number + 1
  13.         end
  14.         
  15.         return true
  16.         
  17. end

  18. function SaveFileData(filepath)
  19.         -- 保存读完剩余数据
  20.         io.output(filepath)
  21.         for k,v in pairs(FILETAB) do
  22.                 io.write(v.."\n")
  23.         end
  24.         io.close()
  25.         
  26.         print("文件保存完毕",filepath)
  27.         
  28. end

  29. function ReadOneDeleteOne(count)
  30.         -- 读一行删除一行
  31.         -- count 读取多少行
  32.         local newtab = {}
  33.         if count > #FILETAB then
  34.                 print("读取的行数超出")
  35.                 exitScript()
  36.                
  37.         else
  38.                 for i=1,count do
  39.                         print(FILETAB[i],'\n')
  40.                 end
  41.                 for i=(count+1),#FILETAB do
  42.                         if i <=#FILETAB then
  43.                                 table.insert(newtab,FILETAB[i])
  44.                         end
  45.                 end
  46.                 FILETAB = newtab

  47.         end
  48.         
  49.         
  50. end

  51. function run()
  52.         -- 执行函数
  53.         local filepath = "/mnt/sdcard/Pictures/ip.txt"
  54.         if GetFileData(filepath) then
  55.                 print("源文件行数:",FILETAB)
  56.                 ReadOneDeleteOne(10)
  57.                 print("读取删除后行数",FILETAB)
  58.                 SaveFileData(filepath)
  59.         end
  60. end
  61. run()


复制代码
运行结果图片:
1.png 2.png

使用道具
举报
已绑定手机

46

主题

118

回帖

2831

积分

版主

积分
2831
2021-11-13 10:59:47 楼主 显示全部楼层
这个文件操作适用于数据量不是很大的情况下使用,如果数据量几百兆不推荐使用该示例去操作.
数据量打适合存到数据库里面进行存取操作,比较便捷.
回复
使用道具
举报

2

主题

34

回帖

128

积分

注册会员

积分
128
QQ
我是不是第一个···
勇敢的牛牛不怕困难
回复
使用道具
举报

7

主题

49

回帖

398

积分

版主

积分
398
牛牛牛,大佬 牛B...
回复
使用道具
举报

3

主题

1

回帖

93

积分

注册会员

积分
93
我来了老大
回复
使用道具
举报
已绑定手机

46

主题

118

回帖

2831

积分

版主

积分
2831
2021-11-13 11:09:59 楼主 显示全部楼层

阔以阔以
回复
使用道具
举报

1

主题

11

回帖

31

积分

新手上路

积分
31
大佬6666666
回复
使用道具
举报
已绑定手机

46

主题

118

回帖

2831

积分

版主

积分
2831
2021-11-13 11:27:09 楼主 显示全部楼层
回复
使用道具
举报

2

主题

34

回帖

128

积分

注册会员

积分
128
QQ
疯狂升级中···
勇敢的牛牛不怕困难
回复
使用道具
举报

0

主题

39

回帖

65

积分

注册会员

积分
65

牛牛牛,大佬 牛B...
回复
使用道具
举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则