2

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

输出:
我想生活在灵魂与身体相遇的地方,让太阳用双臂环绕我......

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

4

1 回答 1

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().

于 2013-03-23T18:03:18.073 回答