TypeScript (Angular) - читать текстовый файл построчно - PullRequest
1 голос
/ 18 марта 2019

У меня проблема с чтением текстовых файлов LINE BY LINE.Использование console.log (file) работает отлично, но мне нужно, чтобы каждая конкретная строка что-то с ними делала, поэтому вот что я сделал до сих пор.

В api.service.ts у меня есть функция, котораязагружает файл с сервера, а сама функция выглядит следующим образом:

getFile(url: string): Observable<File> {
  return this.httpClient.get<File>(url, {responseType: "text"});
}

Затем в app.component.ts я определяю приватное поле 'resultFile: File' и назначаю входящий файл этой переменной

getFile() {
    this.apiService.getFile('http://127.0.0.1:8000/media/results/MINERvA/CC0pi/v1.0/nuwro.txt').subscribe(file => {
      this.resultFile = file;
      console.log(this.resultFile);
    });
  }

Как я уже упоминал ранее, печать содержимого resultFile с помощью console.log () работает просто отлично.Файл правильно отформатирован (с новыми строками), но когда я перебираю resultFile

for (const line of resultFile){
  console.log(line);
}

, он печатает каждый отдельный символ вместо каждой отдельной строки.Я думаю, что проблема может быть в responseType: «text», который преобразует содержимое в обычную строку, но я не смог найти никакого решения для этого.Извините за такой тупой вопрос, но я никогда раньше не использовал JS / TS.

1 Ответ

2 голосов
/ 18 марта 2019

Попробуйте разбить строки с помощью newLines:

for (const line of resultFile.split(/[\r\n]+/)){
  console.log(line);
}

См. Это, чтобы увидеть разделители строк: Отличаются ли окончания строк в Windows и Linux?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...