testFs4useratio.lua 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  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(filename) --如果文件存在,打印文件内容
  24. filehandle:close()--关闭文件
  25. else
  26. print("The file is empty")--文件不存在
  27. end
  28. else
  29. print("文件不存在或文件输入格式不正确") --打开失败
  30. end
  31. end
  32. local rt = true
  33. --[[
  34. 函数名: writevala(filename,value)
  35. 功能:向输入的文件中添加内容,内容附加在原文件内容之后
  36. 参数:第一个文件名,第二个需要添加的内容
  37. 返回值:无 --]]
  38. local function writevala(filename,value)--在指定文件中添加内容,函数名最后一位就是打开的模式
  39. local filehandle = io.open(filename,"a+")--第一个参数是文件名,后一个是打开模式'r'读模式,'w'写模式,对数据进行覆盖,'a'附加模式,'b'加在模式后面表示以二进制形式打开
  40. if filehandle then
  41. rt = filehandle:write(value)--写入要写入的内容
  42. print("write rt",rt)
  43. filehandle:close()
  44. else
  45. print("文件不存在或文件输入格式不正确") --打开失败
  46. end
  47. end
  48. --[[
  49. 函数名:writevalw(filename,value)
  50. 功能:向输入文件中添加内容,新添加的内容会覆盖掉原文件中的内容
  51. 参数:同上
  52. 返回值:无 --]]
  53. local function writevalw(filename,value)--在指定文件中添加内容
  54. local filehandle = io.open(filename,"w")--第一个参数是文件名,后一个是打开模式'r'读模式,'w'写模式,对数据进行覆盖,'a'附加模式,'b'加在模式后面表示以二进制形式打开
  55. if filehandle then
  56. filehandle:write(value)--写入要写入的内容
  57. filehandle:close()
  58. else
  59. print("文件不存在或文件输入格式不正确") --打开失败
  60. end
  61. end
  62. --[[函数名:deletefile(filename)
  63. 功能:删除指定文件中的所有内容
  64. 参数:文件名
  65. 返回值:无 --]]
  66. local function deletefile(filename)--删除指定文件夹中的所有内容
  67. local filehandle = io.open(filename,"w")
  68. if filehandle then
  69. filehandle:write()--写入空的内容
  70. print("successfully delete")
  71. filehandle:close()
  72. else
  73. print("文件不存在或文件输入格式不正确") --打开失败
  74. end
  75. end
  76. --打印文件系统的剩余空间
  77. print("get_fs_free_size: "..rtos.get_fs_free_size().." Bytes")
  78. --成功创建一个目录(目录已存在,也返回true表示创建成功)
  79. local function dir1test()
  80. if rtos.make_dir(USER_DIR1) then
  81. if rtos.make_dir(USER_DIR11) then
  82. readfile(USER_DIR11.."/file11.txt")
  83. writevala(USER_DIR11.."/file11.txt","file11 test")
  84. readfile(USER_DIR11.."/file11.txt")
  85. writevalw(USER_DIR11.."/file11.txt","file11 test2")
  86. --deletefile(USER_DIR11.."/file11.txt")
  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. readfile(USER_DIR11.."/file12.txt")
  94. end
  95. end
  96. end
  97. local function dir2test()
  98. if rtos.make_dir(USER_DIR2) then
  99. if rtos.make_dir(USER_DIR21) then
  100. rtos.make_dir(USER_DIR211)
  101. readfile(USER_DIR21.."/file21.txt")
  102. writevala(USER_DIR21.."/file21.txt","file21 test")
  103. readfile(USER_DIR21.."/file21.txt")
  104. writevalw(USER_DIR21.."/file21.txt","file21 test2")
  105. --deletefile(USER_DIR21.."/file21.txt")
  106. readfile(USER_DIR21.."/file21.txt")
  107. readfile(USER_DIR21.."/file3.txt")
  108. writevala(USER_DIR21.."/file3.txt","file3 test")
  109. readfile(USER_DIR21.."/file3.txt")
  110. writevalw(USER_DIR21.."/file3.txt","file3 test2")
  111. --deletefile(USER_DIR21.."/file3.txt")
  112. readfile(USER_DIR21.."/file3.txt")
  113. end
  114. end
  115. end
  116. local function file1test()
  117. readfile("/file1.txt")
  118. writevala("/file1.txt","file1 test")
  119. readfile("/file1.txt")
  120. writevalw("/file1.txt","file1 test2")
  121. --deletefile("/file1.txt")
  122. readfile("/file1.txt")
  123. end
  124. local function file3test()
  125. readfile("/file3.txt")
  126. writevala("/file3.txt","file3 test")
  127. readfile("/file3.txt")
  128. writevalw("/file3.txt","file3 test2")
  129. --deletefile("/file3.txt")
  130. readfile("/file3.txt")
  131. end
  132. local function file4test()
  133. readfile("/file4.txt")
  134. writevala("/file4.txt","file4 test")
  135. readfile("/file4.txt")
  136. writevalw("/file4.txt","file4 test2")
  137. --deletefile("/file4.txt")
  138. readfile("/file4.txt")
  139. end
  140. local function dir3test()
  141. if rtos.make_dir(USER_DIR3) then
  142. print("MAKE DIR3 SUCC")
  143. else
  144. print("MAKE DIR3 FAIL")
  145. end
  146. end
  147. local cnt = 0
  148. local str512 = "12345678901234567890123456789012345678901234567890123456789012345678901234567890abcdefghkkll111122222ffssssss33334444455566666777812345678901234567890123456789012345678901234567890123456789012345678901234567890abcdefghkkll111122222ffssssss33334444455566666777812345678901234567890123456789012345678901234567890123456789A012345678901234567890abcdefghkkll111122222ffssssss33334444455566666777812345678901234567890123456789012345678901234567890123456789012345678901234567890abcdefghkkll111122222ffssssss333344444555666667778"
  149. local str = str512..str512
  150. local function filewtest()
  151. if rt then
  152. cnt = cnt + 1
  153. end
  154. print("get_fs_free_size: cnt"..rtos.get_fs_free_size().." Bytes",cnt)
  155. writevala("/file1.txt",str)
  156. end
  157. local function emptyfile(filename)
  158. local filehandle = io.open(filename,"w")
  159. if filehandle then
  160. print("successfully empty")
  161. filehandle:close()
  162. else
  163. print("文件不存在或文件输入格式不正确") --打开失败
  164. end
  165. end
  166. local function filemptest()
  167. cnt = cnt + 1
  168. print("get_fs_free_size: cnt"..rtos.get_fs_free_size().." Bytes",cnt)
  169. emptyfile("/file"..cnt..".txt")
  170. end
  171. local function makedir(dir)
  172. if rtos.make_dir(dir) then
  173. print("makedir suc")
  174. else
  175. print("makedir fail")
  176. end
  177. end
  178. local function makedirtest()
  179. cnt = cnt + 1
  180. print("get_fs_free_size: cnt"..rtos.get_fs_free_size().." Bytes",cnt)
  181. makedir("/dir"..cnt)
  182. end
  183. local str10 = str..str..str..str..str..str..str..str..str..str
  184. local function filew10ktest()
  185. if rt then
  186. cnt = cnt + 1
  187. end
  188. print("get_fs_free_size: cnt"..rtos.get_fs_free_size().." Bytes",cnt)
  189. writevala("/file"..cnt..".txt",str10)
  190. end
  191. local str100 = str10..str10..str10..str10..str10..str10..str10..str10..str10..str10
  192. local function filew100ktest()
  193. if rt then
  194. cnt = cnt + 1
  195. end
  196. print("get_fs_free_size: cnt"..rtos.get_fs_free_size().." Bytes",cnt)
  197. writevala("/file"..cnt..".txt",str100)
  198. end
  199. local function test()
  200. --filewtest()
  201. filemptest()
  202. --makedirtest()
  203. --filew10ktest()
  204. --filew100ktest()
  205. end
  206. sys.timerLoopStart(test,1000)