node.js使用readline按行读取文件内容到Array中

落日映苍穹つ 2022-04-23 12:40 271阅读 0赞

具体代码实现如下:

  1. var fs = require("fs");
  2. var readLine = require("readline");
  3. /** * 按行读取文件内容 * * @param fReadName 文件名路径 * @param cb 回调函数 * * @return 字符串数组 */
  4. function readFileToArr(fReadName, cb) {
  5. var arr = [];
  6. var readObj = readLine.createInterface({
  7. input: fs.createReadStream(fReadName)
  8. });
  9. readObj.on('line', function (line) {
  10. arr.push(line);
  11. });
  12. readObj.on('close', function () {
  13. console.log('readLine close....');
  14. cb(arr);
  15. });
  16. }
  17. readFileToArr('ObserverMode.js', function (arr) {
  18. console.log(arr);
  19. });

使用到的实例代码如下:

  1. //ObserverMode.js
  2. const queuedObservers = new Set();
  3. const observe = fn => queuedObservers.add(fn);
  4. const observable = obj => new Proxy(obj, { set});
  5. function set(target, key, value, receiver) {
  6. const result = Reflect.set(target, key, value, receiver);
  7. queuedObservers.forEach(observer => observer());
  8. return result;
  9. }
  10. const person = observable({
  11. name: '张三',
  12. age: 20
  13. });
  14. function print() {
  15. console.log(`${ person.name}, ${ person.age}`)
  16. }
  17. observe(print);
  18. person.name = '李四';

示例执行结果如下:

  1. "D:\software\WebStorm 2017.2.4\bin\runnerw.exe" "D:\Program Files\nodejs\node.exe" D:\Workspaces\Webstorm\web\javascript\ES6\src\readFileToArr.js
  2. readLine close....
  3. [ '',
  4. 'const queuedObservers = new Set();',
  5. '',
  6. 'const observe = fn => queuedObservers.add(fn);',
  7. 'const observable = obj => new Proxy(obj, {set});',
  8. '',
  9. 'function set(target, key, value, receiver) {',
  10. ' const result = Reflect.set(target, key, value, receiver);',
  11. ' queuedObservers.forEach(observer => observer());',
  12. ' return result;',
  13. '}',
  14. '',
  15. 'const person = observable({',
  16. ' name: \'张三\',',
  17. ' age: 20',
  18. '});',
  19. '',
  20. 'function print() {',
  21. ' console.log(`${person.name}, ${person.age}`)',
  22. '}',
  23. '',
  24. 'observe(print);',
  25. 'person.name = \'李四\';',
  26. '' ]
  27. Process finished with exit code 0

发表评论

表情:
评论列表 (有 0 条评论,271人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java读取文件内容

    java中按行来读取文件内容,一般对文件也是又要求的,比如文件编码utf-8,内容是按行可读,而不是一堆字节码。这类文件,我们按行读取,主要是方便快速查看内容,并且用这些内容来