Ruby - File File Name


Windows and Unix-related operating systems have different ways of specifying filenames.

Windows filenames look like c:\directory\filename.ext, whereas Unix-style filenames look like /directory/filename.ext.

You can use File class join method to create path that would work on both systems.

On Windows, you can use File.join to put together a filename using directory names and a final filename:

File.join('full', 'path', 'here', 'filename.txt') 

On Unix-related operating systems, such as Linux, the code is the same:

File.join('full', 'path', 'here', 'filename.txt') 

File.join method allows you to write the same code to run on both systems.

The separator itself is stored in a constant called File::SEPARATOR.

You can turn a filename into an absolute filename by appending the directory separator to the start, like so:

File.join(File::SEPARATOR , 'full', 'path', 'here', 'filename.txt') 

You can use File.expand_path to turn basic filenames into complete paths.


Related Topic