testFs1basic.lua 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. --- 模块功能:文件操作功能测试.
  2. -- @author openLuat
  3. -- @module fs.testFs
  4. -- @license MIT
  5. -- @copyright openLuat
  6. -- @release 2018.03.27
  7. module(...,package.seeall)
  8. local USER_DIR1,USER_DIR11 = "/dir1","/dir11"
  9. local USER_DIR2,USER_DIR21,USER_DIR211 = "/dir2","/dir21","/dir211"
  10. local USER_DIR3 = "/dir3"
  11. --[[该demo提供四种接口,第一种readfile(filename)读文件,第二种writevala(filename,value),写文件内容,附加模式,
  12. 第三种function writevalw(filename,value),写文件内容,覆盖模式,第四种deletefile(filename),删除文件。--]]
  13. --[[
  14. 函数名:readfile(filename)
  15. 功能:打开所输入文件名的文件,并输出储存在里面额内容
  16. 参数:文件名
  17. 返回值:无 ]]
  18. local function readfile(filename)--打开指定文件并输出内容
  19. local filehandle=io.open(filename,"r")--第一个参数是文件名,第二个是打开方式,'r'读模式,'w'写模式,对数据进行覆盖,'a'附加模式,'b'加在模式后面表示以二进制形式打开
  20. if filehandle then --判断文件是否存在
  21. local fileval=filehandle:read("*all")--读出文件内容
  22. if fileval then
  23. print(fileval) --如果文件存在,打印文件内容
  24. filehandle:close()--关闭文件
  25. else
  26. print("The file is empty")--文件不存在
  27. end
  28. else
  29. print("文件不存在或文件输入格式不正确") --打开失败
  30. end
  31. end
  32. --[[
  33. 函数名: writevala(filename,value)
  34. 功能:向输入的文件中添加内容,内容附加在原文件内容之后
  35. 参数:第一个文件名,第二个需要添加的内容
  36. 返回值:无 --]]
  37. local function writevala(filename,value)--在指定文件中添加内容,函数名最后一位就是打开的模式
  38. local filehandle = io.open(filename,"a+")--第一个参数是文件名,后一个是打开模式'r'读模式,'w'写模式,对数据进行覆盖,'a'附加模式,'b'加在模式后面表示以二进制形式打开
  39. if filehandle then
  40. filehandle:write(value)--写入要写入的内容
  41. filehandle:close()
  42. else
  43. print("文件不存在或文件输入格式不正确") --打开失败
  44. end
  45. end
  46. --[[
  47. 函数名:writevalw(filename,value)
  48. 功能:向输入文件中添加内容,新添加的内容会覆盖掉原文件中的内容
  49. 参数:同上
  50. 返回值:无 --]]
  51. local function writevalw(filename,value)--在指定文件中添加内容
  52. local filehandle = io.open(filename,"w")--第一个参数是文件名,后一个是打开模式'r'读模式,'w'写模式,对数据进行覆盖,'a'附加模式,'b'加在模式后面表示以二进制形式打开
  53. if filehandle then
  54. filehandle:write(value)--写入要写入的内容
  55. filehandle:close()
  56. else
  57. print("文件不存在或文件输入格式不正确") --打开失败
  58. end
  59. end
  60. --[[函数名:deletefile(filename)
  61. 功能:删除指定文件中的所有内容
  62. 参数:文件名
  63. 返回值:无 --]]
  64. local function deletefile(filename)--删除指定文件夹中的所有内容
  65. local filehandle = io.open(filename,"w")
  66. if filehandle then
  67. filehandle:write()--写入空的内容
  68. print("successfully delete")
  69. filehandle:close()
  70. else
  71. print("文件不存在或文件输入格式不正确") --打开失败
  72. end
  73. end
  74. --打印文件系统的剩余空间
  75. print("get_fs_free_size: "..rtos.get_fs_free_size().." Bytes")
  76. --成功创建一个目录(目录已存在,也返回true表示创建成功)
  77. local function dir1test()
  78. if rtos.make_dir(USER_DIR1) then
  79. if rtos.make_dir(USER_DIR11) then
  80. --readfile(USER_DIR11.."/file11.txt")
  81. writevala(USER_DIR11.."/file11.txt","file11 test")
  82. readfile(USER_DIR11.."/file11.txt")
  83. writevalw(USER_DIR11.."/file11.txt","file11 test2")
  84. --deletefile(USER_DIR11.."/file11.txt")
  85. local rt = os.remove(USER_DIR11.."/file11.txt")
  86. print("dir1test file11 os.remove rt",rt)
  87. readfile(USER_DIR11.."/file11.txt")
  88. --readfile(USER_DIR11.."/file12.txt")
  89. writevala(USER_DIR11.."/file12.txt","file11 test")
  90. readfile(USER_DIR11.."/file12.txt")
  91. writevalw(USER_DIR11.."/file12.txt","file11 test2")
  92. --deletefile(USER_DIR11.."/file12.txt")
  93. local rt = os.remove(USER_DIR11.."/file12.txt")
  94. print("dir1test file12 os.remove rt",rt)
  95. readfile(USER_DIR11.."/file12.txt")
  96. end
  97. end
  98. end
  99. local function dir2test()
  100. if rtos.make_dir(USER_DIR2) then
  101. if rtos.make_dir(USER_DIR21) then
  102. rtos.make_dir(USER_DIR211)
  103. --readfile(USER_DIR21.."/file21.txt")
  104. writevala(USER_DIR21.."/file21.txt","file21 test")
  105. readfile(USER_DIR21.."/file21.txt")
  106. writevalw(USER_DIR21.."/file21.txt","file21 test2")
  107. --deletefile(USER_DIR21.."/file21.txt")
  108. local rt = os.remove(USER_DIR21.."/file21.txt")
  109. print("dir2test file21 os.remove rt",rt)
  110. readfile(USER_DIR21.."/file21.txt")
  111. --readfile(USER_DIR21.."/file3.txt")
  112. writevala(USER_DIR21.."/file3.txt","file3 test")
  113. readfile(USER_DIR21.."/file3.txt")
  114. writevalw(USER_DIR21.."/file3.txt","file3 test2")
  115. --deletefile(USER_DIR21.."/file3.txt")
  116. local rt = os.remove(USER_DIR21.."/file3.txt")
  117. print("dir2test file3 os.remove rt",rt)
  118. readfile(USER_DIR21.."/file3.txt")
  119. end
  120. end
  121. end
  122. local function file1test()
  123. --readfile("/file1.txt")
  124. writevala("/file1.txt","file1 test")
  125. readfile("/file1.txt")
  126. writevalw("/file1.txt","file1 test2")
  127. --deletefile("/file1.txt")
  128. local rt = os.remove("/file1.txt")
  129. print("file1test os.remove rt",rt)
  130. readfile("/file1.txt")
  131. end
  132. local function file3test()
  133. --readfile("/file3.txt")
  134. writevala("/file3.txt","file3 test")
  135. readfile("/file3.txt")
  136. writevalw("/file3.txt","file3 test2")
  137. --deletefile("/file3.txt")
  138. local rt = os.remove("/file3.txt")
  139. print("file3test os.remove rt",rt)
  140. readfile("/file3.txt")
  141. end
  142. local function file4test()
  143. --readfile("/file4.txt")
  144. writevala("/file4.txt","file4 test")
  145. readfile("/file4.txt")
  146. writevalw("/file4.txt","file4 test2")
  147. --deletefile("/file4.txt")
  148. local rt = os.remove("/file4.txt")
  149. print("file4test os.remove rt",rt)
  150. readfile("/file4.txt")
  151. end
  152. local function dir3test()
  153. if rtos.make_dir(USER_DIR3) then
  154. print("MAKE DIR3 SUCC")
  155. else
  156. print("MAKE DIR3 FAIL")
  157. end
  158. end
  159. local function test()
  160. file1test()
  161. dir1test()
  162. dir2test()
  163. file3test()
  164. file4test()
  165. dir3test()
  166. end
  167. sys.timerLoopStart(test,1000)