如何用JS实现一行一行读取一个TXT文件?

Posted

tags:

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

大虾们好,我想用javascript实现这么一个功能:
定义一个文本框跟一个按钮,每点击一下这个按钮就会将一个TXT文件中的一行数据读到那个文本框中,就是说第一次点击读取TXT文件中第一行数据显示到那个文本框中,第二次点击读取TXT文件的第二行数据到文本框,以此类推.
非常感谢~~~~

解决方法:

1、通过IE的FSO方法,不过该方法只有IE中可以使用

2、通过Ajax方式读取文本,该方法通用,建议使用该方法

代码示例:

$(document).ready(function()
  $("#b01").click(function()//比如再按钮的单击事件中
  htmlobj=$.ajax(url:"/jquery/test1.txt",async:false);//通过ajax读取test1.txt文本文件。
  $("#myDiv").html(htmlobj.responseText.replace(/.+/g,'</br>'));//根据回车换行符进行替换,替换成html换行符<br>
  );
);
<div id='myDiv'></div>
<input type='button' id='b01' value='读取文本'/>

参考技术A

//s是输出的值

//line是第几行


function readLine(filename,line) 

 //读第几行   

var fso = new ActiveXObject("Scripting.FileSystemObject");     

var f = fso.OpenTextFile(filename,1);     

var s = ""; 

var wl= 0;//读到第几行   

while (!f.AtEndOfStream)

     wl= wl+1;

     s = f.ReadLine(); 

     if(wl==line)

         //第几行的数据  

         alert(s);

      ;

      ;

    f.Close();   

 

//自己调试一下


自己调试一下

本回答被提问者采纳

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

--读取13.txt文本内的内容如:
aa001
aa002
aa003
...........

local filePath = "/var/touchelf/13.txt" --读取13.txt文本内的内容如aa001
function readFile(file)
assert(file,"file open failed")
local fileTab =
local line = file:read()
while line do
print("get line",line)
table.insert(fileTab,line)
line = file:read()
end
return fileTab
end
function main()
print("start")
local fileRead = io.open(filePath)
if fileRead then
local tab = readFile(fileRead)
fileRead:close()
table.remove(tab,1)
local fileWrite = io.open(filePath,"w")
if fileWrite then
writeFile(fileWrite,tab)
fileWrite:close()
inputText("?????",line)--这里如何让输出的文本实现每次一行

end

local file = io.open("xx.xxx")
for line in file:lines() do
    print(line) -- 这里就是每次取一行    
end追问

local file = io.open("xx.xxx")
for line in file:lines() do
print(line) -- 这里就是每次取一行
inputText("?????",line)--这里面应该用什么来调用读出来的内容?
end

追答

line 就是读出来的每一行文字 你想怎么调用就怎么调用
比如我用的方法就是把他print出来

追问

这明明是全部一次读出,我读书少,你不要骗我。。
local file = io.open("xx.xxx")
for line in file:lines() do
print(line) -- 这里就是每次取一行
inputText(line)--------这里明明把文本里所有行全读了。。。
end

追答

你书确实读的少 没读到这一快
所以你运行一下就知道到底有没有错
lua官方说明文档:

file:lines ()

Returns an iterator function that, each time it is called, returns a new line
from the file. Therefore, the construction
for line in file:lines() do body end

will iterate over all lines of the file. (Unlike io.lines, this function does not close the
file when the loop ends.)

参考技术A 这个很简单~~要看Lua号,是5.1的话,那你可以下Luadec来反编译。他并没有加密,那是Lua字节码用luac加密过了,可以dofile ""的格式调用运行,然后修改数值保存替换。

以上是关于如何用JS实现一行一行读取一个TXT文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何用python读取txt内不规则数据,并保存?

mfc如何用txt保存下拉框控件的内容?下拉框如何读入TXT中的内容到属性-数据中?

请问如何用matlab创建TXT文本文档啊?

请问VB中如何读取txt文件的数据

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

C语言如何用fread()和fwrite()实现对文本文件的整行读写呢,文本文件中每一行的字符个数不一定相同