javascript一行一行的读取文本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript一行一行的读取文本相关的知识,希望对你有一定的参考价值。

javascript一行一行的读取文本
我有个.TXT文本,想用javascript一行一行的读出并alert出来,每间隔10秒读一条,哪个高手能帮忙写个代码啊???

<script language="javascript">
var TxtFile = function(ClassName)

this.ClassName = ClassName;
this.Fso = null;
this.Delay = 10000;//多长时间读取一次
this.ReadLine = 0;//初始化,从第几行开始读取
this.RowCount = 1;//文本的总行数
this.TxtContent = null;//文本的内容,数组
this.ForReading = 1;//只读

TxtFile.prototype.CreateObject = function()

if(this.Fso == null)

this.Fso = new ActiveXObject("Scripting.FileSystemObject");


TxtFile.prototype.OpenFile = function(TxtFilePath)

this.CreateObject();

try

var f = this.Fso.OpenTextFile(TxtFilePath,this.ForReading);

catch (e)

alert("文件不存在");
return;


if(f.AtEndOfLine)

alert('空文件!');
this.RowCount = 1;
this.TxtContent = [""];

else

this.TxtContent = f.ReadAll().split("\r\n");
this.RowCount = this.TxtContent.length;


this.ToAlertFileConten();


TxtFile.prototype.ToAlertFileConten = function()

if(this.ReadLine < this.RowCount )

alert(this.TxtContent[this.ReadLine]);


if(this.ReadLine ==this.RowCount - 1)

alert("文件读取完毕。");

else

this.ReadLine++;
window.setTimeout(""+ this.ClassName +".ToAlertFileConten();",this.Delay);


var MyTxtFile = new TxtFile("MyTxtFile");
MyTxtFile.OpenFile("c:\\temp.txt");
</script>
参考技术A JavaScript不能读取文件 参考技术B JS没那本事....

文本读取与修改某一行

需求:技术分享

由于没有学习到Python的数据库,所以我用文本文件来读取数据

代码:

# -*- coding:utf-8 -*-
# author:ke_T
import os,sys
u_i_name = input("请输入你的用户名")
u_i_password = input("请输入你的密码")
black_name = open("E:\\\\大三\\\\上学期\\\\数据语言\\\\pythonProject\\\\day1\\\\test1.txt", "r")
line = black_name.readline()
name1 = u_i_name
while line:
if(line.strip() == u_i_name):
print("该用户已经进入黑名单")
exit()
line = black_name.readline()

try:
bl = True
count = 0
while bl:
fock = open("E:\\\\大三\\\\上学期\\\\数据语言\\\\pythonProject\\\\day1\\\\test.txt", "r")
while True:
line = fock.readline()
user = line.split(":")
name = user[0]
password = user[1]
if(u_i_name == name.strip()):
if(u_i_password == password.strip()):
print("恭喜你登录成功")
bl = False
break
else:
count += 1
print("登录失败,账户名或者密码错误,请重新输入,用户{0}还有{1}次机会".format(u_i_name,3-count))

if count==3:
black_name = open("E:\\\\大三\\\\上学期\\\\数据语言\\\\pythonProject\\\\day1\\\\test1.txt", "a")
black_name.writelines("\\n{0}".format(name))
print("你已经进入黑名单")
exit()
u_i_name = input("请输入你的用户名")
u_i_password = input("请输入你的密码")
break
elif line == "":
print("找不到该用户,请检查你的用户名")
u_i_name = input("请输入你的用户名")
u_i_password = input("请输入你的密码")
break

finally:
fock.close()
black_name.close()

完成这道题,我遇到什么问题呢?首先是文本文件读取方式,这个没学过python的,因此哦我上网查了查。它用的是open()函数,这个open函数,第一个参数写的是文件读取的地址,
第二个参数的读取该文件的方式,像我的代码中的r+的读取方式,就是代表着不仅读,下面百度的open函数的读取文件的方式:
rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278)
w     以写方式打开,
a     以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+     以读写模式打开
w+     以读写模式打开 (参见 w )
a+     以读写模式打开 (参见 a )
rb     以二进制读模式打开
wb     以二进制写模式打开 (参见 w )
ab     以二进制追加模式打开 (参见 a )
rb+    以二进制读写模式打开 (参见 r+ )
wb+    以二进制读写模式打开 (参见 w+ )
ab+    以二进制读写模式打开 (参见 a+ )
open函数的使用需要导入os,所以不能忘记import os。最让我惊讶的是,在字符的比价卡了好一会,因为用的方法错了,用了
.__str__()来忽略空格和换行符,发现不对,头疼啊。
后来才发现不是这个,而是strip(),心酸。在这里浪费了许多的瞬间,很难受,期间自己给字符加换行符再比较,最终还是原有的函数好用。

下面是我思路的流程图:
技术分享

我一开始的思路是想着把用户名,密码,还有次数都存在一个文件里面的,但是在修改的时候,出现了问题,就是找不到方法直接修改文本的那一行。上网找了,发现大多数的解决方法就是重写,感觉效率太低了这样子。因为我觉得之后如果学习了数据库,这个问题不大。

 

 

 

 




































































以上是关于javascript一行一行的读取文本的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript读取并显示txt文本

Python 2.7 MySQLdb将从数据库读取的最后一行保存到文本文件中

在scala中读取文本文件,一行接一行,不迭代

从文本文件中读取一行,然后用新文本 C# 替换同一行

lua脚本读取文本每次一行 如何实现

如何在 Java 中逐行读取文本文件并分隔每一行的内容?