方法1: fsモジュールを使用する方法
const fs = require('fs');
function getLineFromFile(filePath, lineNumber) {
const fileContent = fs.readFileSync(filePath, 'utf-8');
const lines = fileContent.split('\n');
// 指定した行番号の行を取得する
const line = lines[lineNumber - 1];
return line;
}
// 使用例
const filePath = 'path/to/file.txt';
const lineNumber = 5;
const line = getLineFromFile(filePath, lineNumber);
console.log(line);
方法2: readlineモジュールを使用する方法
const fs = require('fs');
const readline = require('readline');
async function getLineFromFile(filePath, lineNumber) {
const fileStream = fs.createReadStream(filePath);
const rl = readline.createInterface({
input: fileStream,
crlfDelay: Infinity
});
let currentLine = 1;
for await (const line of rl) {
if (currentLine === lineNumber) {
rl.close();
return line;
}
currentLine++;
}
return null; // 指定した行が見つからない場合はnullを返す
}
// 使用例
const filePath = 'path/to/file.txt';
const lineNumber = 5;
getLineFromFile(filePath, lineNumber)
.then(line => console.log(line))
.catch(error => console.error(error));
これらの方法を使うと、Node.jsでファイルから特定の行を取得することができます。選択した方法に応じて、上記のコード例を参考にしてください。また、ファイルの読み込みエラーへの対処やエラーハンドリングにも注意してください。