2

JavaScript の学習を始めたばかりで、小さな問題があります。テキストを含むテキストファイルがあります。ブラウザーでテキスト ファイルの内容を読み取ることができます (.hta を意味します) が、テキストは 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;

アウトプット:
私は魂が体と出会う場所に住みたい そして太陽が私の周りに腕を包み込むように...

アドバイス、提案をいただければ幸いです。

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ループを使用できますが、プロパティを使用して、ファイルが 1000 行より短くないことを確認する必要がありAtEndOfStreamます。

bodyこの関数がタグ内またはwindow.onloadハンドラー内で呼び出されることに注意してください。私のコードは DOM 操作ではなく DOM 操作を使用していることに注意してくださいdocument.write()

于 2013-03-23T18:03:18.073 に答える