- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个脚本,可以将数据从 API 写入某些文件。我有一个对象,其中包含每个文件的文件描述符:
var csvFds = {
'file1' : null,
'file2' : null,
'file3' : null,
'file4' : null
};
for (var file in csvFds) {
var dirPath = __dirname + '/files/' + file;
try {
fs.statSync(dirPath);
}
catch (e) {
mkdirp.sync(dirPath, {mode: 0755});
}
csvFds[file] = fs.openSync(dirPath + '/' + moment().format("YYYY-MM-DDTHH:mm:ss[Z]") + '.csv', 'a+');
}
然后我有一些代码使用 fs.write 将 csv 行批量写入文件。这部分工作正常。我有格式良好的 csv 文件。现在我需要将整个文件的内容作为字符串读取。这就是我尝试做的事情:
fs.readFileSync(csvFds['file1']).toString();
但由于某种原因我总是得到一个空字符串。我已经确认 fs.readFileSync 实际上通过使用 console.log 并删除 toString() 方法返回缓冲区。
我真的很困惑,所以任何帮助将不胜感激。提前致谢。以下是有关我的 Node 版本和操作系统的一些附加信息:
$ node -v
v6.2.3-pre
$ uname -a
Darwin i-2.local 14.5.0 Darwin Kernel Version 14.5.0: Thu Jun 16 19:58:21 PDT 2016; root:xnu-2782.50.4~1/RELEASE_X86_64 x86_64
最佳答案
对于有同样问题的其他人。
对我来说,获得非空字符串的唯一方法是使用 fs.readFile 而不是 fs.readFileSync。
我使用 Mac,我试图读取 Node 自行创建的文件。如果我尝试读取另一个文件,它就会起作用。
fs.readFile(file, (err, data)=>{
if(err){
console.log(err)
throw err
}else{
let file_content = data.toString('utf8')
// your code here
}
})
关于javascript - fs.readFileSync 始终返回空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38859609/
我尝试使用方法获取文件 readFileSync : import fs from 'fs'; import path from 'path'; const templateFile = fs.rea
我对 Node.js 比较陌生,一直在四处寻找,但找不到解决方案。我确实检查了需要的 javascript 文件,它似乎没有“readFileSync”的方法。也许我没有合适的要求文件?我很难找到这个
我正在开发Electron应用程序。 我有src文件夹中的几个JSON文件,需要在应用初始化(设置,配置等)期间将它们复制到用户文件夹中。 在开发人员模式下以及当我对JSON文件进行import时,它
我有一个上传文件的代码这里是代码: var oriPath = JSON.stringify(req.files.profilePicture); va
我尝试了所有这些步骤来将 bpmn 属性面板集成到本地主机中,例如 Integration of Properties panel in localhost . 此后我得到了未捕获错误:fs.read
我正在尝试在 nodejs 的帮助下获取文件内容fs.readFileSync()像这样将函数转换为字符串: let fileData = fs.readFileSync('./path, 'utf8
在我的 Node 应用程序中,我有一个 init 函数: function init() { if (!fs.existsSync("../schedule.json")) f
我在名为 data 的目录下创建了多个函数并用名为 generatedRandomData 的函数返回的一些随机数据填充它们。为了创建多个文件,我编写了这些函数: const createFile =
基本上,我使用 Node 的 FS 模块来读取和写入 JSON 文件。编写它完全可以正常工作,但由于某种原因,读取它会返回一个空字符串。 这个文件叫做records.js const dir = 's
我写了一个简单的 JS 对象,它具有函数 csvFileToArray。函数应返回已解析的 CSV 数组。 问题是我没有传递给 readFileSync 的匿名函数的输出。 test1 已正确登录到控
我想创建从数据库中获取数据的函数,例如 executeQuery(sql)。但我不想从这个函数返回任何 promise ,也不想传递任何回调函数。我只想返回查询的结果。 例如: var rows =
我有一个脚本,可以将数据从 API 写入某些文件。我有一个对象,其中包含每个文件的文件描述符: var csvFds = { 'file1' : null, 'file2' : nul
我正在使用 Insert-css 将一个 css 文件导入到我的 npm 模块中但我得到一个错误。 var fs = require('fs'); var inserCss = require('in
这个问题已经有答案了: Anonymous function passed to readFileSync is not returning any data (2 个回答) 已关闭 6 年前。 我正
我正在尝试使用 html-pdf Node 模块从 html 生成 pdf。我目前正在使用 cloud9 IDE 运行它。 我的代码是: var fs = require("fs"); var pdf
我正在尝试获取 webpack 和 mapbox-gl在 Meteor 系统中协同工作。我到处都查看了上述错误,但没有一个有效。这是我的 webpack 设置 { "root": "src",
我正在尝试通过我正在制作的 Chrome 应用程序将十六进制文件刷新到 Arduino。我使用了基本的 NodeJS 代码(如下所示),并使用 browserify 对其进行了转换,以便它可以在浏览器
为什么这段代码不起作用?如果我评论 fs.readFileSync('file.html');代码有效并创建文件“file.html”但如果我取消注释, fs.writeFileSync 将不起作用,
考虑以下 Node.js Javascript 程序: var fs = require('fs'); var encoding1='?'; var encoding2='?'; var a = fs
以下是 NodeJS 代码示例(同步版本): var fs = require('fs'); var path = './parseLogFiles/reports'; var counter = 0
我是一名优秀的程序员,十分优秀!