在JavaScript中读取本地文本文件

时间:2013-03-23 17:15:13

标签: javascript html hta

我刚开始学习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;

输出:
我希望生活在灵魂与身体相遇的地方让太阳环绕着我......

任何建议,建议都表示赞赏。

1 个答案:

答案 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()