testFs3powdown.lua 7.2 KB

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