用js实现读写
文件读取(File Read)
在浏览器环境中,文件读取通常通过用户主动上传文件(如<input type="file">)触发,使用FileReader API实现:

// HTML: <input type="file" id="fileInput">
const fileInput = document.getElementById('fileInput');
fileInput.addEventListener('change', (event) => {
const file = event.target.files[0];
const reader = new FileReader();
// 读取为文本
reader.readAsText(file);
reader.onload = () => {
console.log(reader.result); // 文件内容
};
});
文件写入(File Write)
浏览器出于安全限制无法直接写入本地文件,但可通过以下方式模拟:

- 下载文件:生成内容并触发下载
function downloadFile(content, fileName) { const blob = new Blob([content], { type: 'text/plain' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = fileName; a.click(); URL.revokeObjectURL(url); }
// 使用示例 downloadFile('Hello World', 'example.txt');
2. Node.js环境:使用`fs`模块
```javascript
const fs = require('fs');
// 同步写入
fs.writeFileSync('example.txt', 'Hello World');
// 异步写入
fs.writeFile('example.txt', 'Hello World', (err) => {
if (err) throw err;
});
本地存储(Local Storage)
对于小型数据,可使用浏览器本地存储:
// 写入
localStorage.setItem('key', 'value');
// 读取
const value = localStorage.getItem('key');
// 删除
localStorage.removeItem('key');
注意事项
- 浏览器环境无法直接访问文件系统,需用户交互触发。
- Node.js中
fs模块支持完整文件操作,但需处理路径权限问题。 - 敏感数据避免使用
localStorage,应考虑加密或服务端存储。






