Чтение данных из конкретного файла

172
29 апреля 2018, 21:10

Прочитать файл из файла можно, например, так: new FileReader (см. код ниже). Но этот метод требует выбора файла. Вопрос: как считать файл с известным именем?

var tfile; 
var reader = new FileReader(); 
 
function rdfile(files) {    
  tfile = files[0]; 
  reader.readAsText(tfile); 
  alert(str);  
}; 
 
reader.onload = function(e) { 
  str = e.target.result; 
  alert(str); 
};

Т.е. мне не надо выбирать файл, а надо явно указать в скрипте где он находится и какое его имя.

Answer 1

Прочесть локальный текстовый файл с помощью javascript, с сервера, можно используя jQuery:

$(document).ready(function() {
        $.ajax({
            type: "POST",
            url: "/files/textfile.txt",
            dataType: "text",
            success: function(data) {
                readFile(data);
            }
        });
    });
    function readFile(allText) {
        var allLines = allText.split(/\r\n|\n/);
        var out = [];
        for (var i=0; i<allLines.length; i++) {
                lines.push(allLines[i]);
        }
        console.log(out);
    }

Еще прочесть локальный CSV файл с сервера можно прочесть, используя библиотеку d3, это очень удобно, потому что мы сразу можем получить объект с именами в заголовке, также использую данную библиотеку можно прочесть файлы форматов:.tsv, .json :

Пример Csv файла:

city,state,population,land area
seattle,WA,652405,83.9
new york,NY,8405837,302.6
boston,MA,645966,48.3
kansas city,MO,467007,315.0

Код:

d3.csv("/data/cities.csv", function(data) {
  console.log(data[0]);
});

Вывод в консоль:

{city: "seattle", state: "WA", population: "652405", land area: "83.9"}

Еще прочесть локальный текстовый файл можно использую NodeJs:

const lineReader = require('readline').createInterface({
    input: require('fs').createReadStream('./textfile.txt')
});
lineReader.on('line', function (line) {
    console.log(line);
});

Прочесть локальный .js файл можно так:

index.html:

<html>
<head>
</head>
<body>
  <script src="file.js"></script>
</body>
</html>

file.js:

var data = {1,2,3,4};
READ ALSO
Как выводить окна?

Как выводить окна?

Допустим есть файлы indexphp login

159
Найти элемент на странице по атрибуту

Найти элемент на странице по атрибуту

Есть <script language="name"> И нужно без использования jquery получить значение этого тега(тегов script при этом много,но с этим атрибутом только один)

139
jQuery. Записать значение тега в массив

jQuery. Записать значение тега в массив

Итак, имеется плагин ion-soundЕму передается параметр в виде массива с названиями аудиозаписей, примерно так:

140