aardio文件读取

By xwcxf at 19 天前 • 0人收藏 • 76人看过

今日开启 aardio 文件读写与管理模块的学习,犹如探索计算机文件系统的 “数字档案库”。面对陌生的代码语法虽倍感困惑,但通过对实例的逐步拆解与实践,逐渐掌握了基础操作逻辑,对编程世界的认知也更进了一步。

一、创建并写入文件:给“电子文件夹”塞资料

刚接触时,完全不理解代码怎么就能创建文件、写入内容。后来琢磨明白了,这就跟在文件柜里拿出新文件夹,再往里面放资料一个道理。

案例一:写一行文字到test.txt

import console;

var file = io.file("/test.txt","w+");
file.write('hello aardio !');

var line = file.readAll();
console.log(line)
file.close();

console.pause();

截图一io.file就像是打开文件的“万能钥匙”,"/test.txt"是文件的“地址”,"w+"表示写入模式,要是文件不存在,它就会自动新建一个。write函数负责把内容“写”进文件,readAll读取内容,print把读到的内容显示出来,最后close就像给文件夹关上了门。

不过第一次运行时,我发现文件根本找不到,原来是没注意路径。后来才知道,直接写test.txt,文件会建在默认路径里,加个/或~/(~代表用户目录)会更保险。

案例二:写入多行内容

import console;var file = io.file("/test.txt","w+");file.write('第一行内容','\n');file.write('第二行内容','\n');file.write('第三行内容');var line = file.readAll();console.log(line)file.close();console.pause();

截图二截图二

和示例1比起来,就是多写了几行。这里最关键的是\n,它就像键盘上的回车键,要是不加,所有内容都会挤在一行,根本分不清段落。

二、读取文件:翻“电子文件夹”里的资料

学会写文件后,我就琢磨着怎么看文件里的内容,这就好比从文件柜里拿出文件夹查看资料。

案例一:一次性读完文件

import console;var file = io.file("/test.txt","r");var line = file.readAll();console.log(line);file.close();console.pause();

截图三截图三
"r"是只读模式,只能用来读已经存在的文件,要是文件不存在,程序就会报错。readAll()特别方便,能把文件内容一股脑全读出来,适合内容少的文件。但要是文件很大,这么读可能会占用太多内存,这时候就得用逐行读取了。

案例二:逐行读取文件

import console;var file = io.file("/test.txt","r");while(true){    var line = file.read();    if(!line) break;    console.log(line)}file.close();console.pause();

截图四截图四

一开始看到while(true)这个无限循环,我都懵了,这不会一直读下去吗?后来才明白,file.read()每次读一行,读完一行接着读下一行,当读到文件末尾,line就会变成nil(空值),这时候if(!line) break;就会让循环停下来。就像一页一页翻书,直到把书翻完。

三、文件管理:整理“电子文件夹”

除了读写,还得学会管理文件,比如重命名、删除,这就跟整理文件柜里的文件夹一样。

案例一:重命名文件

import fsys;import console;var modify = fsys.rename("test.txt","new_test.txt");if(modify){    console.log("修改文件名成功")}else {    console.log("修改失败")}console.pause();

截图五截图五

fsys.rename就像给文件夹换标签。不过要注意,得先用import fsys;引入文件系统模块,才能使用这个函数。如果文件不在当前目录,还得写清楚路径,不然会找不到文件。

案例二:删除文件

import fsys;import console;var delete = fsys.delete("new_test.txt");if(delete){    console.log("删除成功")}else {    console.log("删除失败")}console.pause();

截图六截图六

删除文件的时候可把我紧张坏了,毕竟删了就找不回来了。fsys.delete就像把文件夹扔进垃圾桶,测试的时候一定要用专门的测试文件,千万别删错重要文件!

四、综合习题:从写入到计算的实战

题目是创建data.txt,写入5行数字,再读取每行数字加1后输出。乍一看觉得好难,但一步步拆分就没那么可怕了。

import console;var file = io.file("/data.txt","w+b");for(i = 1; 5; 1){    file.write(i,'\n');}file.close();file = io.file("/data.txt","r");while(true){    var line = file.read();    if(!line) break;    var num = tonumber(line);    console.log(num+1)}file.close();console.pause();

截图七截图七

写入部分和之前学的差不多,用循环把1到5这5个数字依次写进文件。读取部分,因为文件里的数字其实是文本形式,不能直接做加法,所以要用tonumber把文本转成数字,这样才能进行计算。


1 个回复 | 最后更新于 16 天前
16 天前   #1

登录后方可回帖

登 录
信息栏
本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...