English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Ruby File Class and Methods

File Represents a connection to a normal file stdio An example of the class returned by open for a normal file.

Class method

Serial NumberMethod & Description
1File::atime( path)
Returns path the last access time.
2File::basename( path[, suffix])
Returns path The filename at the end. If a suffixsuffix, it will be removed from the end of the filename.
For example: File.basename("/home/users/bin/ruby.exe") #=> "ruby.exe"
3File::blockdev?( path)
Returns true if path is a block device.
4File::chardev?( path)
Returns true if path is a character device.
5File::chmod( mode, path...)
Changes the permission mode of the specified file.
6File::chown( owner, group, path...)
Changes the owner and group of the specified file.
7File::ctime( path)
Returns the last inode change time of path.
8File::delete( path...)
File::unlink( path...)

Deletes the specified file.
9File::directory?( path)
Returns true if path is a directory.
10File::dirname( path)
Returns the directory part of path, excluding the final filename.
11File::executable?( path)
Returns true if path is executable.
12File::executable_real?( path)
Returns true if path is executable with real user permissions.
13File::exist?( path)
Returns true if path exists.
1File::expand_path( path[, dir])
Returns the absolute path of path, where ~ is expanded to the home directory of the process owner, and ~user is expanded to the home directory of the user. The relative path is relative to the directory specified by dir, or to the current working directory if dir is omitted.
14File::file?( path)
Returns true if path is a regular file.
15File::ftype( path)
Returns one of the following strings to indicate the file type:
  • file - Regular file

  • directory - Directory

  • characterSpecial - Character special file

  • blockSpecial - Block special file

  • fifo - Named pipe (FIFO)

  • link - Symbolic link

  • socket - Socket

  • unknown - Unknown file type

16File::grpowned?( path)
Returns true if path is owned by the user's group.
17File::join( item...)
Returns a string, concatenating the specified items and separating them with File::Separator.
For example: File::join("", "home", "usrs", "bin") # => "/home/usrs/bin"
18File::link( old, new)
Creates a hard link to the file old.
19File::lstat( path)
Same as stat, but it returns information on the symbolic link itself, not the file it points to.
20File::mtime( path)
Returns the last modification time of path.
21File::new( path[, mode="r"])
File::open( path[, mode="r"])
File::open( path[, mode="r"]) {|f| ...}

Opens a file. If a block is specified, execute the block by passing the new file as an argument. The file is automatically closed when the block exits. These methods differ from Kernel.open, even if path starts with |, the subsequent string will not be run as a command.
22File::owned?( path)
Returns true if path is owned by an effective user.
23File::pipe?( path)
Returns true if path is a pipe.
24File::readable?( path)
Returns true if path is readable.
25File::readable_real?( path)
Returns true if path is readable with real user permissions.
25File::readlink( path)
Returns the file pointed to by path.
26File::rename( old, new)
Change the filename old to new.
27File::setgid?( path)
If the set bit of path is set-group-Return true if the id permission bit is set.
28File::setuid?( path)
If the set bit of path is set-user-Return true if the id permission bit is set.
29File::size( path)
Return the file size of path.
30File::size?( path)
Return the file size of path, or nil if it is 0.
31File::socket?( path)
Return true if path is a socket.
32File::split( path)
Return an array containing the content of path, split into File::dirname(path) and File::basename(path).
33File::stat( path)
Return a File::Stat object with information on path.
34File::sticky?( path)
Return true if the sticky bit of path is set.
35File::symlink( old, new)
Create a symbolic link pointing to the file old.
36File::symlink?( path)
Return true if path is a symbolic link.
37File::truncate( path, len)
Truncate the specified file to len bytes.
38File::unlink( path...)
Delete the file given by path.
39File::umask([ mask])
If no parameters are specified, return the current umask for this process. If a parameter is specified, set the umask and return the old umask.
40File::utime( atime, mtime, path...)
Change the access and modification time of the specified file.
41File::writable?( path)
Return true if path is writable.
42File::writable_real?( path)
Return true if path is writable through real user permissions.
43File::zero?( path)
Return true if the file size of path is 0.

Example Method

Assume f is File An example of a class:

Serial NumberMethod & Description
1f.atime
Return the last access time of f.
2f.chmode(mode)
Change the permission mode of f.
3f.chown(owner, group)
Change the owner and group of f.
4f.ctime
Return the last inode change time of f.
5f.flock(op)
Call flock().2).op can be 0 or a logical value or File class constants LOCK_EX, LOCK_NB, LOCK_SH, and LOCK_UN.
6Call flock().
Same as stat, but it returns information on the symbolic link itself, not the file it points to.
7f.mtime
Return the last modification time of f.
8f.path
Return the pathname used to create f.
9f.reopen(path[, mode="r"])
Reopen the file.
10f.truncate(len)
Truncate f to len bytes.