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');