国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Node.js readline模塊與util模塊的使用

2024-05-06 15:21:15
字體:
來源:轉載
供稿:網友

1. 使用readline模塊逐行讀取流數據

1.1. 創建Interface對象

在readline模塊中,通過Interface對象的使用來實現逐行讀取流數據的處理。因此首先要創建Interface對象,在readline模塊中,可以通過createInterface方法來創建Interface對象.readline.createInterface(options),options為一個對象,屬性如下

    input: 屬性值為一個可用來讀取流數據的對象,用于指定讀入數據的來源。 output: 屬性值為一個可用來寫入流數據的對象,用于指定數據的輸出目標。 computer: 屬性值為一個函數,用于指定Tab補全處理。函數的參數值被自動設定為從該行中讀入的Tab字符之前的數據,該函數應該返回一個由所有用于Tab補全時的匹配字符串組成的數組以及從該行中讀入的Tab字符之前的數據。 terminal: 該屬性為一個布爾類型的屬性,當需要像一個終端那樣實時地將輸入數據流進行輸出,且需要在輸出數據中寫入ANSI/VT100控制字符串時,需要將該屬性值設置為true,默認屬性值等于output屬性值對象的isTTY屬性值。
// 輸入 exit, quit,q這三個任意之一的時候,會退出const readline = require('readline');let rl = readline.createInterface({  input: process.stdin,  output: process.stdout,  completer: completer});rl.on('line', (line) => {  if (line === 'exit' || line === 'quit' || line === 'q') {    rl.close();  } else {    console.log('您輸入了:', line);  }});rl.on('close', () => {  console.log('行數據讀取操作被終止');});function completer(line) {  const completions = '.help .error .exit .quit .q'.split(' ');  let hits = completions.filter((c) => {    return c.indexOf(line) === 0;  });  return [hits.length ? hits : completions, line]}

1.2. 使用Interface對象逐行讀取文件

原fs.js文件的內容

console.log('this is line 1');console.log('this is line 2');console.log('this is line 3');console.log('this is line 4');console.log('this is line 5');

代碼內容

const readline = require('readline');const fs = require('fs');let file = fs.createReadStream('./fs.js');let out = fs.createWriteStream('./anotherFs.js');let index = 1;out.write('/*line' + index.toString() + ": */");let rl = readline.createInterface({  input: file,  output: out,  terminal: true});rl.on('line', (line) => {  if (line === '') {    rl.close();  } else {    index++;    out.write('/*line' + index.toString() + ': */');  }});

生成的anotherFs.js文件的內容

/*line1: */console.log('this is line 1');/*line2: */console.log('this is line 2');/*line3: */console.log('this is line 3');/*line4: */console.log('this is line 4');/*line5: */console.log('this is line 5');/*line6: */

2. 使用util模塊中提供的一些方法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 南宫市| 湖口县| 河曲县| 石楼县| 松桃| 江阴市| 阿克苏市| 定州市| 葫芦岛市| 德钦县| 伊宁市| 汉源县| 太和县| 沙湾县| 郓城县| 阿克陶县| 乐业县| 永清县| 鸡泽县| 伊金霍洛旗| 阳新县| 栾川县| 鹤壁市| 达日县| 金沙县| 松阳县| 嵊泗县| 伊吾县| 霍邱县| 三门县| 福安市| 安达市| 子洲县| 开原市| 广河县| 拉萨市| 北安市| 广东省| 五指山市| 收藏| 福鼎市|