Land your first dev job — 100% money-back guarantee.
Continue

File & Folder Handling in Ruby

Read, write, and manage files and directories using Ruby's File, Dir, and FileUtils classes.

Reading Files

Ruby's `File` class and `IO` module provide multiple ways to read files. For small files, read everything at once. For large files, process line by line to keep memory constant.

1. Read Entire Text File

Load a whole file into a string.

2. Read Line by Line (Large Files)

Process one line at a time — constant memory regardless of file size.

3. Reading Binary Files

Read binary data with mode "rb" and process in chunks.

Creating & Writing Files

Ruby provides simple methods for writing text and binary files. The `File.write` family handles encoding automatically; use `"wb"` mode for binary. Always use block-form `File.open` to guarantee the handle is closed.

1. Write & Append Text

Create a new file or append to an existing one.

2. Write Binary Files

Write raw bytes with binwrite or "wb" mode.

3. Atomic Write — Safe File Updates

Write to a temp file then rename to prevent corruption.

Copy, Move, Rename & Delete

`FileUtils` (standard library) provides shell-like file operations — copy, move, rename, delete — with cross-platform support and optional verbose/dry-run modes.

1. Copy, Move & Rename

FileUtils.cp, mv, and File.rename.

2. Delete Files & Safe Removal

Remove files and directories safely.

Folder Operations

Ruby's `Dir` class handles directory listing and globbing. `FileUtils` handles creation and deletion. Together they cover everything needed for folder management.

1. Create & Delete Directories

mkdir, mkdir_p, rmdir, rm_rf.

2. Listing & Traversing Directories

Dir.entries, Dir.each_child, Dir.glob, and Find.

3. Glob Patterns

Master Dir.glob pattern syntax for flexible file matching.

File Metadata & Permissions

`File::Stat` holds all metadata about a file — size, timestamps, permissions, and type. Access it via `File.stat(path)` or the `File` predicate methods.

1. File::Stat — Size, Times & Type

Read file metadata without opening the file.

2. Checking File & Folder Existence

Verify paths before reading, writing, or deleting.

3. Tempfile — Temporary Files

Create safe temporary files that clean up automatically.

Best Practices

Production file handling must be safe against missing files, permission errors, and partial writes. These patterns cover the most common pitfalls.

1. Error Handling for File Operations

Rescue specific errno exceptions for robust file code.

2. Common Production Patterns

Always-close, process-large-files, and safe-mkdir patterns.