Luk*_*wak 6 file typescript angular
我在逐行读取文本文件时遇到问题。使用 console.log(file) 工作得很好,但我需要每个特定的行来处理它们,所以这是我到目前为止所做的。
在 api.service.ts 我有一个从服务器下载文件的函数,函数本身看起来像这样:
getFile(url: string): Observable<File> {
return this.httpClient.get<File>(url, {responseType: "text"});
}
Run Code Online (Sandbox Code Playgroud)
然后在 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);
});
}
Run Code Online (Sandbox Code Playgroud)
正如我之前提到的,使用 console.log() 打印 resultFile 的内容工作得很好。文件格式正确(带有新行),但是当我遍历 resultFile 时
for (const line of resultFile){
console.log(line);
}
Run Code Online (Sandbox Code Playgroud)
它打印每个单个字符而不是每个单行。我认为问题可能是 responseType: "text" 将内容转换为纯字符串,但我找不到任何解决方案。抱歉问这么愚蠢的问题,但我以前从未使用过 JS/TS。
尝试使用 newLines 拆分行:
for (const line of resultFile.split(/[\r\n]+/)){
console.log(line);
}
Run Code Online (Sandbox Code Playgroud)
请参阅此内容以查看行分隔符:Windows 和 Linux 之间的行结尾是否不同?
| 归档时间: |
|
| 查看次数: |
7421 次 |
| 最近记录: |