使用javascript将多个文件读取为字符串

时间:2015-04-07 17:18:35

标签: javascript file text

我的应用程序读取服务器上的特定.txt文件,并将内容写入字符串(数组)

filename = "textfile01.txt"
$.get(filename, function(datafil) {
    var bookings = datafil.split("\n");

    //Display
    $("#divname").append(bookings);

});

它运行良好,但我想在我的数组中添加该目录中所有文本文件的内容。 我想使用正则表达式,但我不知道如何应用它们。类似于“在datafil字符串中加载所有/textfile\d\d\.txt/个文件”。

所以我可以加载textfile01.txt,textfile02.txt等等。

谢谢!

1 个答案:

答案 0 :(得分:0)

客户端无权访问目录的文件列表。这使得不可能直接'获取可下载的文件列表。

如果您保持一致的文件名协议(如textfile01.txt,textfile02.txt等...),您可以轻松地通过向上计数循环。

var totalFiles = 99;
for (var i = 0; i < totalFiles; i++){
    var number = (i < 10) ? '0' + i : i;
    var filename = "textfile" + number + ".txt";

    $.get(filename, function(datafil) {
        var bookings = datafil.split("\n");

        // Display
        $("#divname").append(bookings);
    });
}

或者,如果您更喜欢使用不同命名的文件,那么带文件名的简单数组就足够了。

var files = ["hello.txt", "world.txt"];
files.forEach(function(file, index){
    $.get(file, function(datafil) {
        var bookings = datafil.split("\n");

        // Display
        $("#divname").append(bookings);
    });
 });

请注意,$ .get()函数几乎同时被调用,这意味着不能保证文件的内容将以相同的顺序附加到#divname。