我刚开始学习JavaScript,我遇到了一个小问题。我有一个文本文件,里面有一些文字。我可以在浏览器中阅读文本文件的内容(我的意思是.hta),但文本显示为一行。我想为每一行添加换行符。我该怎么做?
文字内容:
我想生活在灵魂与身体相遇的地方
让阳光缠绕在我身上
...
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;
输出:
我希望生活在灵魂与身体相遇的地方让太阳环绕着我......
任何建议,建议都表示赞赏。
答案 0 :(得分:5)
这是因为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();
}
此函数读取整个文件。如果您想要读取1000行,可以使用for
循环,但是您需要使用AtEndOfStream
属性检查文件是否不短于1000行。
只需在body
标记或window.onload
处理程序中调用此函数即可。请注意,我的代码使用DOM操作而不是document.write()
。