Fix memory problems

This commit is contained in:
the1812 2019-04-22 21:35:06 +08:00
parent 6b67dd59fe
commit 01496b3ac4
3 changed files with 30 additions and 16 deletions

View File

@ -1,7 +1,20 @@
const commandLineArgs = require("command-line-args");
//@ts-check
const fs = require("fs");
const optionDefinitions = [
{ name: 'info', alias: 'i', defaultOption: true, type: String, defaultValue: undefined },
{ name: 'parts', alias: 'p', type: Number, defaultValue: undefined },
];
console.log(commandLineArgs(optionDefinitions));
const title = "【2019·东方华灯宴】 - 九天共开怀";
const dest = title + ".flv";
const files = fs.readdirSync(".");
const parts = files.filter(it => it.includes(title + ".part"));
const partRegex = /.*\.part([\d]+)/;
parts.sort((a, b) =>
{
const partA = parseInt(a.replace(partRegex, "$1"));
const partB = parseInt(b.replace(partRegex, "$1"));
return partA - partB;
}).forEach(file =>
{
const buffer = fs.readFileSync(file);
fs.appendFileSync(dest, buffer);
});
console.log("end");

View File

@ -91,14 +91,14 @@ class Downloader {
const files = fs.readdirSync(".");
const parts = files.filter(it => it.includes(title + ".part"));
const partRegex = /.*\.part([\d]+)/;
const data = parts.sort((a, b) => {
parts.sort((a, b) => {
const partA = parseInt(a.replace(partRegex, "$1"));
const partB = parseInt(b.replace(partRegex, "$1"));
return partA - partB;
}).map(file => fs.readFileSync(file));
const stream = fs.createWriteStream(dest);
data.forEach(it => stream.write(it));
stream.close();
}).forEach(file => {
const buffer = fs.readFileSync(file);
fs.appendFileSync(dest, buffer);
});
parts.forEach(file => fs.unlinkSync(file));
}
return dest;

View File

@ -121,15 +121,16 @@ class Downloader
const files = fs.readdirSync(".");
const parts = files.filter(it => it.includes(title + ".part"));
const partRegex = /.*\.part([\d]+)/;
const data = parts.sort((a, b) =>
parts.sort((a, b) =>
{
const partA = parseInt(a.replace(partRegex, "$1"));
const partB = parseInt(b.replace(partRegex, "$1"));
return partA - partB;
}).map(file => fs.readFileSync(file));
const stream = fs.createWriteStream(dest);
data.forEach(it => stream.write(it));
stream.close();
}).forEach(file =>
{
const buffer = fs.readFileSync(file);
fs.appendFileSync(dest, buffer);
});
parts.forEach(file => fs.unlinkSync(file));
}
return dest;