fs.readFile 只读 2 个前符号
fs.readFile read only 2 first symbols
我尝试像这样使用sdk fs:
var fs = require('sdk/io/fs');
fs.readFile(filepath, 'utf-8', function (error, data) {
if (components.isSuccessCode(error)) {
var lines = data.toString().split(/['r'n]+/);
for (var i = 0; i < lines.length; i++) {
listener.process(lines[i]);
}
}
else {
callback({error: error});
}
}
但我只得到 2 个文件的第一个符号(2 MB)。为什么我会有这么奇怪的行为?
来自 sdk 的读取文件声明:
function readFile(path, encoding, callback) {
if (isFunction(encoding)) {
callback = encoding
encoding = null
}
let buffer = null;
try {
let readStream = new ReadStream(path);
readStream.on("data", function(data) {
if (!buffer){
buffer = data;
}
else{
buffer = Buffer.concat([buffer, data], 2);
}
});
readStream.on("error", function onError(error) {
callback(error);
});
readStream.on("end", function onEnd() {
// Note: Need to destroy before invoking a callback
// so that file descriptor is released.
readStream.destroy();
callback(null, buffer);
});
}
catch (error) {
setTimeout(callback, 0, error);
}
};
不要使用
fs.readFile 使用 OS.file: https://developer.mozilla.org/en-US/docs/JavaScript_OS.File/OS.File_for_the_main_thread
相关文章:
- 在.csv文件中写入学位符号
- 使用相同的数据集绘制各种符号
- 将带点符号的属性(有时)传递给函数
- RegEx JavaScript:数字后的符号提取
- 如何在计算器符号为零时替换它
- 删除输入中输入的符号
- 如何在ReactJs中渲染重音符号
- 如何替换JavaScript字符串中除字母和数字之外的所有内容(空格/符号)
- 插入符号到底是什么
- 删除图形和数字之间的连字符(-)符号
- 浏览器intl.NumberFormat未正确显示货币符号
- JS toLocaleString始终显示货币符号,而不考虑区域设置
- 将插入符号位置移动到ContentEditable<DIV>
- 为更改的输入返回插入符号位置的逻辑
- 包含转义符号的正则表达式
- Javascript中的符号
- 在slitify中制作二级项目符号的动画
- javascript美元符号变量不起作用
- 设置单击项目符号导航后不起作用的间隔
- fs.readFile 只读 2 个前符号