Filesystem API
Overview
The FileSystem class provides cross-platform file operations that work on both Windows and Linux. It abstracts platform differences and provides a unified API for file and directory operations.
FileSystem Class
File Operations
readFile(filePath)
Reads a file and returns its contents as a string.
Throws: Error on failure
writeFile(filePath, data)
Writes data to a file.
exists(filePath)
Checks if a file or directory exists.
stat(filePath)
Gets file statistics (size, permissions, etc.).
copyFile(src, dest)
Copies a file from source to destination.
moveFile(src, dest)
Moves or renames a file.
deleteFile(filePath)
Deletes a file.
Directory Operations
mkdir(dirPath)
Creates a directory (recursive).
rmdir(dirPath)
Removes a directory (recursive).
listDir(dirPath)
Lists directory contents.
Returns: Array of file/directory names
Path Operations
absolutePath(relativePath)
Converts relative path to absolute path.
joinPath(...paths)
Joins path segments (cross-platform).
Cross-Platform Support
All operations use Node.js fs module which handles platform differences automatically:
- Path separators (Windows: \, Linux: /)
- File permissions
- Case sensitivity
- Long file names
Usage Example
const FileSystem = require('./filesystem');
const fs = new FileSystem();
// Create directory
fs.mkdir('/tmp/test');
// Write file
fs.writeFile('/tmp/test/file.txt', 'Hello World');
// Read file
const content = fs.readFile('/tmp/test/file.txt');
// List directory
const files = fs.listDir('/tmp/test');
// Copy file
fs.copyFile('/tmp/test/file.txt', '/tmp/test/copy.txt');
// Delete file
fs.deleteFile('/tmp/test/file.txt');