JavaScriptを使用してテキストファイルの行ごとの書き込みと読み込みを行う方法


方法1: Node.jsのfsモジュールを使用する方法 Node.jsを使用する場合、fsモジュールを利用してファイルの読み書きを行うことができます。

const fs = require('fs');
// ファイルへの行ごとの書き込み
const writeFile = (filename, lines) => {
  const data = lines.join('\n');
  fs.writeFileSync(filename, data);
};
// ファイルから行ごとの読み込み
const readFile = (filename) => {
  const data = fs.readFileSync(filename, 'utf8');
  return data.split('\n');
};
// 使用例
const linesToWrite = ['行1', '行2', '行3'];
const filename = 'example.txt';
writeFile(filename, linesToWrite);
const linesRead = readFile(filename);
console.log(linesRead);

方法2: ブラウザ上でのファイル操作 ブラウザ上でJavaScriptを使用する場合、File APIを使用してファイルの読み書きを行います。

// ファイルへの行ごとの書き込み
const writeFile = async (file, lines) => {
  const data = lines.join('\n');
  await file.createWriter().write(new Blob([data], { type: 'text/plain' }));
};
// ファイルから行ごとの読み込み
const readFile = async (file) => {
  return new Promise((resolve, reject) => {
    const reader = new FileReader();
    reader.onload = (event) => {
      const contents = event.target.result;
      resolve(contents.split('\n'));
    };
    reader.onerror = reject;
    reader.readAsText(file);
  });
};
// 使用例
const fileInput = document.getElementById('file-input');
fileInput.addEventListener('change', async (event) => {
  const file = event.target.files[0];
  const linesRead = await readFile(file);
  console.log(linesRead);
});
// ファイルの書き込みはセキュリティ上の制約があるため、使用例は省略しています。

これらの方法を使用すると、JavaScriptを使ってテキストファイルの行ごとの書き込みと読み込みを行うことができます。選択した方法によって、Node.js環境またはブラウザ環境での動作が異なることに注意してください。