main.lua 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. -- main.lua文件
  2. -- LuaTools需要PROJECT和VERSION这两个信息
  3. PROJECT = "fs_demo"
  4. VERSION = "1.0.0"
  5. log.info("---------------------文件创建---------------")
  6. local ret, errio = io.mkdir("/data/")
  7. if ret then
  8. log.info("文件夹创建成功")
  9. else
  10. log.error("文件夹创建失败")
  11. end
  12. --[[
  13. -- 方法1:使用io.open创建空文件(如果文件已存在,则覆盖)
  14. local fd = io.open("/newfile.txt", "w")
  15. if fd then
  16. -- 文件已成功创建(或覆盖),此时文件为空
  17. fd:close()
  18. log.info("文件创建成功(空文件)")
  19. else
  20. log.error("文件创建失败")
  21. end
  22. ]]
  23. -- 方法2:通过写入内容创建文件
  24. log.info("---------------------文件创建---------------")
  25. local content = "这是文件的内容"
  26. local fd = io.open("/data/newfile_with_content.txt", "w")
  27. if fd then
  28. fd:write(content)
  29. fd:close()
  30. log.info("文件创建成功并写入内容")
  31. else
  32. log.error("文件创建失败")
  33. end
  34. log.info("-------------------文件追加---------------")
  35. -- 打开文件以追加模式
  36. local fd = io.open("/data/newfile_with_content.txt", "rb")
  37. if fd then -- 写入内容
  38. local data_old = fd:read("*a")
  39. log.info("文件创建初始内容:",data_old)
  40. -- 关闭文件
  41. fd:close()
  42. local fd1 = io.open("/data/newfile_with_content.txt", "a")
  43. fd1:write("我是追加的内容\n")
  44. -- 关闭文件
  45. fd1:close()
  46. local fd2 = io.open("/data/newfile_with_content.txt", "rb")
  47. local data_new = fd2:read("*a")
  48. log.info("文件追加之后的内容:",data_new)
  49. -- 关闭文件
  50. fd2:close()
  51. end
  52. log.info("----------------命名文件---------------")
  53. -- 重命名文件
  54. local success, err = os.rename("/data/newfile_with_content.txt", "/data/newname.txt")
  55. if success then
  56. log.info("文件重命名成功")
  57. else
  58. log.error("文件重命名失败:" .. err)
  59. end
  60. log.info("----------------文件拷贝---------------")
  61. ---文件拷贝
  62. -- 读取源文件内容
  63. local fd_src = io.open("/data/newname.txt", "rb")
  64. if fd_src then
  65. local content = fd_src:read("*a")
  66. fd_src:close()
  67. -- 写入目标文件
  68. local fd_dest = io.open("/data/destination.txt", "wb")
  69. if fd_dest then
  70. fd_dest:write(content)
  71. fd_dest:close()
  72. log.info("文件拷贝成功")
  73. else
  74. log.error("无法打开目标文件")
  75. end
  76. else
  77. log.error("无法打开源文件")
  78. end
  79. log.info("----------------移动文件---------------")
  80. local ret, errio = io.mkdir("/destination/")
  81. if ret then
  82. log.info("文件夹创建成功")
  83. else
  84. log.error("文件夹创建失败")
  85. end
  86. -- 移动文件:重命名(适用于同一文件系统)
  87. local success, err = os.rename("/data/newname.txt", "/destination/source.txt")
  88. if success then
  89. log.info("文件移动成功(重命名)")
  90. else
  91. log.error("文件移动失败(重命名):" .. err)
  92. end
  93. -- 获取文件大小
  94. local size = io.fileSize("/data/newname.txt")
  95. if size then
  96. log.info("文件大小:" .. size .. " 字节")
  97. else
  98. log.error("无法获取文件大小")
  99. end
  100. -- 列出目录下的文件
  101. local ret, data = io.lsdir("/data/",10,0)
  102. if ret then
  103. log.info("fs", "lsdir", json.encode(data))
  104. else
  105. log.info("fs", "lsdir", "fail", ret, data)
  106. end
  107. -- 删除文件
  108. local success, err = os.remove("/destination/source.txt")
  109. if success then
  110. log.info("文件删除成功")
  111. else
  112. log.error("文件删除失败:" .. err)
  113. end
  114. -- 用户代码已结束---------------------------------------------
  115. -- 结尾总是这一句
  116. sys.run()
  117. -- sys.run()之后后面不要加任何语句!!!!!