javascript 如何一行一行读取文本
时间: 2023-09-16 14:10:20 浏览: 53
在 JavaScript 中,可以使用 XMLHttpRequest 对象来读取文本文件,并将其逐行分割成字符串数组。以下是一个简单的示例:
```javascript
const xhr = new XMLHttpRequest();
xhr.open('GET', 'path/to/text/file.txt', true);
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
const lines = xhr.responseText.split('\n');
for (let i = 0; i < lines.length; i++) {
console.log(lines[i]);
}
}
};
xhr.send();
```
以上代码首先创建了一个 XMLHttpRequest 对象,并使用 open() 方法指定了要读取的文本文件。然后在 onreadystatechange 事件处理程序中,当 readyState 改变为 4(即请求完成)并且状态码为 200(即成功响应)时,使用 split() 方法将响应文本按照换行符分割成字符串数组,然后使用循环遍历每一行并输出到控制台。
相关问题
shelljs 读取文本最后一行内容
你可以使用`tail`命令来获取文本文件的最后一行内容,然后使用`exec`函数执行该命令:
```javascript
const shell = require('shelljs');
function getLastLine(filePath) {
const tailCmd = `tail -n 1 ${filePath}`;
const result = shell.exec(tailCmd);
return result.stdout.trim();
}
// 示例
const filePath = '/path/to/your/file.txt';
const lastLine = getLastLine(filePath);
console.log(lastLine);
```
上述代码中,`getLastLine`函数接受一个文件路径作为参数,然后使用`tail`命令获取该文件的最后一行内容,并返回结果。注意,由于`exec`函数返回的结果中包含了一些额外的空格和换行符,因此需要使用`trim`函数去除这些无用的字符。
js如何以行读取txt
可以使用JavaScript中的FileReader对象读取文本文件,并以行为单位进行读取。以下是一个简单的示例代码:
```javascript
// 选择文本文件
var fileInput = document.createElement('input');
fileInput.type = 'file';
fileInput.accept = 'text/plain';
fileInput.onchange = function() {
var file = this.files[0];
// 创建FileReader对象
var reader = new FileReader();
// 以行为单位读取文件
reader.onload = function(event) {
var lines = event.target.result.split('\n');
for (var i = 0; i < lines.length; i++) {
console.log(lines[i]);
}
};
// 读取文件
reader.readAsText(file);
};
document.body.appendChild(fileInput);
```
这段代码会在页面中创建一个文件选择框,当用户选择一个文本文件后,会以行为单位读取文件并在控制台输出每一行的内容。