js如何读写txt文件?(曲线救国篇)

摘要:
但是,就是只能离线,还就想要把js运行过程中生产的数据保存到文本文件中,要怎么办呢?js是不能直接读写文件的。打开js文件,可以看到我们可以使用这些方法。this.log=function用于日志输出,同时把日志信息追加到local数据缓冲区。是指把数据缓冲区的日志清除掉,不会影响控制台console的输出。this.getSlice=function这个方法的作用是返回数据缓冲区的数据。

。emmm,不存在的。做不到的。

但是,你可以继续往下阅读,或许能实现你想要的功能。

前言:一般我们需要用js来实现文件读写,都是一些比较小的,离线的应用(因为如果可以联网,什么json什么db都任意操作再也没那么多麻烦事情了)。

但是,就是只能离线,还就想要把js运行过程中生产的数据保存到文本文件中,要怎么办呢?

js是不能直接读写文件的。我先下面要介绍的方法,只能实现把数据存下来(或许称之为下载比较合适),没办法直接读取文件,一般的数据都需要直接写死在js中。

正文:我介绍一个js文件:debugout.js

它可以实现:把js中的数据,通过日志输出,然后再把日志文件下载下来。

怎么用?

跟普通的console.log()类似。我们用它来代替console.log().

首先定义一个全局的

var bugout = new debugout();

然后在需要日志输出的地方:

 //console.log("已中奖:" + targeted) 这个就不需要啦
 bugout.log("已中奖:" + targeted);

最后,完成数据的生产,在需要下载数据的地方:

bugout.downloadLog();

浏览器就会自动下载日志文件。下载的路径就跟你用浏览器下载别的文件是一样的。以上就是实现了基本的功能。

ps:同时,在console中,也会像普通的console.log()一样有输出哦,因为在调用log方法的时候,也执行了以下语句:)

if (self.realTimeLoggingOn) console.log(obj);

除此之外,介绍一下别的功能。

emm,先写作业,有空再介绍。。。

——————————

作业写完啦~

接着介绍吧。

打开js文件,可以看到我们可以使用这些方法。

js如何读写txt文件?(曲线救国篇)第1张

this.log = function(obj)

用于日志输出(相当于console.log的功能),同时把日志信息追加到local数据缓冲区。

this.clear = function()

清除日志。是指把数据缓冲区的日志清除掉,不会影响控制台console的输出。也就是说,之前log到缓冲区的数据,不想要了,可以用clear清除(清除所有的数据哦)。

this.getSlice = function(lineNumber, numLines) 

这个方法的作用是返回数据缓冲区的数据。指定数据的起始行(下标从0开始)和数据行数。(意思是这个意思,但是实际测试时候,起始行需要注意,你的log是从第三行开始,也即起始下标为2)。比如:bugout.getSlice(3,3)。返回的是从第四行数据开始的三行数据。下图中,“”我是日志66“”实际上是数据缓冲区的第三行(下标为2)的数据。所以linenumber是按照下标来的。

js如何读写txt文件?(曲线救国篇)第2张

this.search = function(string) 

从所有log进去的数据行中搜索,并返回包含查询字符串的行。例如:

js如何读写txt文件?(曲线救国篇)第3张

this.tail = function(numLines)

emmm熟悉python熟悉linux等等都知道tail干嘛的。对,没错,就是你想的那样。返回最后n行数据。

this.getLog = function()

返回所有的log数据。我们可以看一下截图,就会发现有用的东西。

js如何读写txt文件?(曲线救国篇)第4张js如何读写txt文件?(曲线救国篇)第5张

是的,下标为1和7的行是空行。

//最后说这个
this.downloadLog = function()

调用自动下载

先知道怎么用,有时间过来研究怎么实现的。

参考链接:https://segmentfault.com/a/1190000009426931

欢迎关注微信公众号“ **IT客**“ ,投稿邮箱 itkeyy@163.com

js如何读写txt文件?(曲线救国篇)第6张

免责声明:文章转载自《js如何读写txt文件?(曲线救国篇)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用shutdown命令实现局域网内远程关机、重启整蛊他人Eclipse中Git插件使用技巧:还原文件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

requireJS的使用_API(1)

之前有介绍过requireJS(模块化开发),可以看看 ,但是不详细,所以今天参考官网来详细介绍一下: 1.加载js文件: RequireJS的目标是鼓励代码的模块化,它使用了不同于传统<script>标签的脚本加载步骤。可以用它来加速、优化代码,但其主要目的还是为了代码的模块化。它鼓励在使用脚本时以module ID替代URL地址。 Requ...

Chrome 扩展crx开发

Chrome扩展提供的入口 左键 crx,popup 右键 crx,homelink + option 右键上下文菜单 Chrome扩展的文件结构 Chrome扩展就是一个文件夹下包括一堆符合规范的文件。首先是清单文件manifest.json,指定了该扩展的整体布局和结构。实例: { // 清单文件的版本,这个必须写,而且必须是2 "mani...

springboot-logback

springboot logback配置 1.pattern解析:   %d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}   带时区的时间   %level   日志级别   [%thread]   线程名   [%logger{50}:%line]    打印日志对应的方法和行数  [uuid:%X{operation_id}]   这个...

hg(Mercurial)使用参考

hg(Mercurial)使用参考 使用hg(mercurial)有好几个月了,个人感觉这款分布式的版本控制系统非常不错,易学,易用;你可以从做在你旁边的同事拉取完整的代码; 对网络的依赖性更低,有本地沙盒,真正实现了离线开发; 轻量;安全,不会因为一两个节点的损坏而影响整个系统。这里做下使用笔记,脑子不好使,容易忘。安装: windows下的图形界面...

Android经典游戏源码汇总

<ignore_js_op> 胜利大逃亡源码<ignore_js_op> Hexagon游戏源码<ignore_js_op> 是男人就下一百层源码<ignore_js_op> 3D竞赛类游戏Alien Runner源码<ignore_js_op> 魔方游戏源码<ignore_js_op>...

js运算符!

算术运算符(如下) 1.“+” 加 2.“-” 减 3“*” 乘 4.“/” 除 5.“%” 取余 例:var i=3,j=8; document.write(i+j); 加 document.write(i-j); 减 document.write(i*j); 乘 document.write(i/j); 除 document.write(i%j); 取...