当前位置:首页 > JavaScript

用js实现读写

2026-04-07 13:25:39JavaScript

使用 File System Access API 读写文件

现代浏览器支持 File System Access API,允许网页应用直接读写本地文件系统。

读取文件

async function readFile() {
  const [fileHandle] = await window.showOpenFilePicker();
  const file = await fileHandle.getFile();
  const content = await file.text();
  console.log(content);
}

写入文件

async function writeFile(content) {
  const handle = await window.showSaveFilePicker();
  const writable = await handle.createWritable();
  await writable.write(content);
  await writable.close();
}

使用 Node.js fs 模块

在 Node.js 环境中,可以使用内置的 fs 模块进行文件操作。

同步读写

const fs = require('fs');

// 同步读取
const data = fs.readFileSync('file.txt', 'utf8');

// 同步写入
fs.writeFileSync('file.txt', 'Hello World', 'utf8');

异步读写

用js实现读写

const fs = require('fs/promises');

// 异步读取
async function readFile() {
  try {
    const data = await fs.readFile('file.txt', 'utf8');
    console.log(data);
  } catch (err) {
    console.error(err);
  }
}

// 异步写入
async function writeFile() {
  try {
    await fs.writeFile('file.txt', 'Hello World', 'utf8');
  } catch (err) {
    console.error(err);
  }
}

使用浏览器 FileReader API

对于传统浏览器文件读取,可以使用 FileReader API。

读取文件内容

function handleFileSelect(event) {
  const file = event.target.files[0];
  const reader = new FileReader();

  reader.onload = function(e) {
    const content = e.target.result;
    console.log(content);
  };

  reader.readAsText(file);
}

document.getElementById('fileInput').addEventListener('change', handleFileSelect);

使用 localStorage 进行简单数据存储

对于少量数据的持久化存储,可以使用 localStorage。

存储数据

用js实现读写

localStorage.setItem('key', 'value');

读取数据

const value = localStorage.getItem('key');

删除数据

localStorage.removeItem('key');

使用 IndexedDB 进行复杂数据存储

对于更复杂的客户端存储需求,可以使用 IndexedDB。

打开数据库

const request = indexedDB.open('MyDatabase', 1);

request.onupgradeneeded = function(e) {
  const db = e.target.result;
  const store = db.createObjectStore('MyStore', { keyPath: 'id' });
};

request.onsuccess = function(e) {
  const db = e.target.result;
  // 数据库操作
};

标签: js
分享给朋友:

相关文章

js实现轮播图

js实现轮播图

轮播图实现方法 基础HTML结构 <div class="slider"> <div class="slides"> <img src="image1.jpg…

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与…

js实现

js实现

实现 JavaScript 功能的方法 在 JavaScript 中实现特定功能通常涉及多个步骤。以下是常见的实现方法: 基础语法和变量声明 使用 let 或 const 声明变量: let co…

js 实现继承

js 实现继承

原型链继承 通过让子类的原型对象指向父类的实例来实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Par…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…