在JavaScript中读取本地文本文件
我刚开始学习JavaScript,我有一个小问题。我有一个文本文件,里面有一些文本。我可以在浏览器中读取文本文件的内容(我的意思是在.hta中),但文本显示为一行。我想给每一行添加换行符。我该怎么做 文本文件内容:在JavaScript中读取本地文本文件,javascript,html,hta,Javascript,Html,Hta,我刚开始学习JavaScript,我有一个小问题。我有一个文本文件,里面有一些文本。我可以在浏览器中读取文本文件的内容(我的意思是在.hta中),但文本显示为一行。我想给每一行添加换行符。我该怎么做 文本文件内容: 我想住在灵魂与肉体相遇的地方 让太阳拥抱我 JS: var fso = new ActiveXObject("Scripting.FileSystemObject"); var txtFile = fso.OpenTextFile("C:\\myJS\\test.txt", 1,
我想住在灵魂与肉体相遇的地方
让太阳拥抱我
JS:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var txtFile = fso.OpenTextFile("C:\\myJS\\test.txt", 1, false, 0);
var fText = txtFile.Read(1000);
document.write(fText);
txtFile.Close();
fso = null;
输出:我想生活在灵魂与肉体相遇的地方,让太阳拥抱我
感谢您的建议。这是因为HTML无法识别文本文件中的换行符。您需要向输出中添加一些HTML。大概是这样的:
function readFile (path) {
var fso = new ActiveXObject('Scripting.FileSystemObject'),
iStream=fso.OpenTextFile(path, 1, false);
while(!iStream.AtEndOfStream) {
document.body.innerHTML += iStream.ReadLine() + '<br/>';
}
iStream.Close();
}
函数读取文件(路径){
var fso=new ActiveXObject('Scripting.FileSystemObject'),
iStream=fso.OpenTextFile(路径,1,false);
而(!iStream.AtEndOfStream){
document.body.innerHTML++=iStream.ReadLine()++'
';
}
iStream.Close();
}
此函数读取整个文件。如果要精确读取1000行,可以使用for
循环,但需要使用AtEndOfStream
属性检查文件是否小于1000行
只需注意此函数在
body
标记内调用,或在窗口中调用。onload
处理程序。请注意,我的代码使用DOM操作而不是document.write()
Hmm。这可能是我做错了什么,或者这不起作用=\@akinuri OOPS,很抱歉,我在循环条件中使用了错误的属性,我已经更正了代码。它仍然不起作用。它不打印任何东西。你能试试看它有没有印东西吗?忘记换行,我甚至不知道它是否会打印文本。而且似乎没有。。。看来我最好去睡觉了。。。现在代码正常了,只需更正ActiveX
调用。我还测试了代码,现在可以运行了。