var content;
fs.readFile('./Index.html', function read(err, data) {
if (err) {
throw err;
}
content = data;
});
console.log(content);
日志未定义,为什么?
var content;
fs.readFile('./Index.html', function read(err, data) {
if (err) {
throw err;
}
content = data;
});
console.log(content);
日志未定义,为什么?
当前回答
var fs = require('fs');
var path = (process.cwd()+"\\text.txt");
fs.readFile(path , function(err,data)
{
if(err)
console.log(err)
else
console.log(data.toString());
});
其他回答
这条线可以,
const content = fs.readFileSync('./Index.html', 'utf8');
console.log(content);
var path = "index.html"
const readFileAsync = fs.readFileSync(path, 'utf8');
// console.log(readFileAsync)
我使用简单的readFileSync即可。
var fs = require('fs');
var path = (process.cwd()+"\\text.txt");
fs.readFile(path , function(err,data)
{
if(err)
console.log(err)
else
console.log(data.toString());
});
你可以读取文件
var readMyFile = function(path, cb) {
fs.readFile(path, 'utf8', function(err, content) {
if (err) return cb(err, null);
cb(null, content);
});
};
加上你可以写入文件,
var createMyFile = (path, data, cb) => {
fs.writeFile(path, data, function(err) {
if (err) return console.error(err);
cb();
});
};
甚至连在一起
var readFileAndConvertToSentence = function(path, callback) {
readMyFile(path, function(err, content) {
if (err) {
callback(err, null);
} else {
var sentence = content.split('\n').join(' ');
callback(null, sentence);
}
});
};
这里实际上有一个同步函数:
http://nodejs.org/api/fs.html#fs_fs_readfilesync_filename_encoding
异步
fs。readFile(filename, [encoding], [callback])
异步读取文件的全部内容。例子:
fs.readFile('/etc/passwd', function (err, data) {
if (err) throw err;
console.log(data);
});
回调被传递两个参数(err, data),其中data是文件的内容。
如果没有指定编码,则返回原始缓冲区。
同步
fs。readFileSync(文件名,(编码))
fs.readFile的同步版本。返回名为filename的文件的内容。
如果指定了编码,则此函数返回一个字符串。否则返回一个缓冲区。
var text = fs.readFileSync('test.md','utf8')
console.log (text)