Lev*_*der 5 javascript windows file-io node.js
只是测试NodeJS并仍然学习在javascript中思考,我怎样才能让这个基本的FileIO操作在下面工作?
这是我想要它做的:
var fs = require('fs');
var filepath = 'c:\/testin.xml';
fs.readFile(filepath, 'utf8', function(err, data) {
if(err) {
console.error("Could not open file: %s", err);
}
});
fs.writeFile('c:\/testout.xml', data, function(err) {
if(err) {
console.error("Could not write file: %s", err);
}
});
Run Code Online (Sandbox Code Playgroud)
Thi*_*ter 11
您的代码的问题在于您尝试在读取之前将读取的数据写入目标文件 - 这些操作是异步的.
只需将文件写入代码移动到readFile操作的回调中:
fs.readFile(filepath, 'utf8', function(err, data) {
if(err) {
console.error("Could not open file: %s", err);
return;
}
fs.writeFile('c:/testout.xml', data, function(err) {
if(err) {
console.error("Could not write file: %s", err);
}
});
});
Run Code Online (Sandbox Code Playgroud)
另一个选择是使用readFileSync()- 但这取决于你何时这样做是个坏主意(例如,如果oepration是由用户的HTTP请求引起的)
var data = fs.readFileSync(filepath, 'utf-8');
fs.writeFileSync('c:/testout.xml', data);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5385 次 |
| 最近记录: |