56 lines
1.5 KiB
JavaScript
56 lines
1.5 KiB
JavaScript
const fs = require('fs')
|
|
|
|
class readFileLine {
|
|
|
|
configPath = "./src/core/config/configure.config.ts";
|
|
lineLength = 0;
|
|
textArr = [];
|
|
lineBuffer = new Buffer(4096);
|
|
|
|
getFileList() {
|
|
this.text = fs.createReadStream(this.configPath)
|
|
return new Promise((s, e) => {
|
|
this.textArr = [];
|
|
let status = false
|
|
this.text.on('data', (data) => {
|
|
for (var i = 0; i < data.length; i++) {
|
|
if (data[i] == 10 || data[i] == 13) {
|
|
if (data[i] == 10) {
|
|
try {
|
|
var line = this.lineBuffer.slice(0, this.lineLength);
|
|
if (line.length != 0) {
|
|
let str = line.toString('utf8')
|
|
.replace(/^\s+|\s+$/g, '')
|
|
.replace(/\'/g, "")
|
|
.replace(/,/g, "")
|
|
|
|
if (str.includes("start -")) {
|
|
status = true
|
|
continue;
|
|
}
|
|
if (str.includes("end -")) {
|
|
status = false
|
|
break;
|
|
}
|
|
|
|
if (status) {
|
|
this.textArr.push(str);
|
|
}
|
|
}
|
|
} finally {
|
|
this.lineLength = 0;
|
|
}
|
|
}
|
|
} else {
|
|
this.lineBuffer[this.lineLength] = data[i];
|
|
this.lineLength++;
|
|
}
|
|
}
|
|
|
|
s(this.textArr)
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
module.exports = new readFileLine(); |