javascript – What will happen if Node.js cannot read a directory (or a part of a file) due to bad/problematic sectors on disk or corrupted file system?
I want to use the directory- and file-reading functions from node:fs to merge multiple files into one file. For example, I have the following script:
import fs from 'node:fs';
import { readdir, readFile, stat } from 'node:fs/promises';
import { join } from 'node:path';
var myStream = fs.createWriteStream('path/to/output.txt', {flags: 'a'});
var dirPath="path/to/mydirectory";
try {
const entries = await readdir(dirPath, { recursive: true, withFileTypes: true });
for (const entry of entries) {
if (entry.isFile()) {
const myPath = join(entry.parentPath, entry.name);
const { size } = await stat(myPath);
const contents = await readFile(myPath);
myStream.write('' + myPath + ' ' + '' + size.toString(10) + ' \n' + contents + '\n');
}
};
} catch (err) {
console.error(err);
};
myStream.end()
What will happen if a directory cannot be opened or some part of a file cannot be read (due to bad/problematic sectors on disk, corrupted file system, etc.)? Will the program just freeze, so I will need to terminate it manually? Or only the corresponding file/directory will be skipped? Will the program skip a file in its entirety or only the unreadable part of it? What type of error, if any, will the program report?
I have not found any information on this topic. Would it be possible to use Node.js to make the full list of problematic directories and files that are located in a given directory?
Read more here: Source link
