Recursive Folder Size
NodeJS
Hard
4 views
Problem Description
Compute total size of files in a folder recursively.
Input Format
stdin: dir path.
Output Format
Print integer bytes.
Constraints
Skip directories that fail to read.
Official Solution
const fs = require('fs');
const path = require('path');
const dir = fs.readFileSync(0, 'utf8').trim();
if (!dir) process.exit(0);
function totalSize(p) {
let sum = 0;
let entries;
try {
entries = fs.readdirSync(p, { withFileTypes: true });
} catch (e) {
return 0;
}
for (const e of entries) {
const full = path.join(p, e.name);
if (e.isDirectory()) sum += totalSize(full);
else {
try { sum += fs.statSync(full).size; } catch (err) {}
}
}
return sum;
}
console.log(totalSize(dir));
Solutions (0)
No solutions submitted yet. Be the first!
No comments yet. Start the discussion!