js如何讀寫txt文件?(曲線救國篇)


。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文件,可以看到我們可以使用這些方法。

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是按照下標來的。

this.search = function(string) 

  從所有log進去的數據行中搜索,並返回包含查詢字符串的行。例如:

 

this.tail = function(numLines)

  emmm熟悉python熟悉linux等等都知道tail干嘛的。對,沒錯,就是你想的那樣。返回最后n行數據。

this.getLog = function()

  返回所有的log數據。我們可以看一下截圖,就會發現有用的東西。

 

  是的,下標為1和7的行是空行。

//最后說這個
this.downloadLog = function()

  調用自動下載

 先知道怎么用,有時間過來研究怎么實現的。

 參考鏈接:https://segmentfault.com/a/1190000009426931

 

歡迎關注微信公眾號“ **IT客**“ ,投稿郵箱 itkeyy@163.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM