Ruby File Class and Methods

FileRepresents an object connected to a regular file.stdioobject. open returns an instance of this class for a regular file.

Class Methods

No.Method & Description
1File::atime( path)
Returnspaththe last access time of
2File::basename( path[, suffix])
Returnspaththe file name at the end. If specifiedsuffix, then it is deleted from the end of the file name.
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 file name.
11File::executable?( path)
Returns true if path is executable.
12File::executable_real?( path)
Returns true if path is executable by the real user.
13File::exist?( path)
Returns true if path exists.
1File::expand_path( path[, dir])
Returns the absolute path of path, expanding ~ to the process owner's home directory, and ~user to the user's home directory. Relative paths are 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, indicating 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 formed by joining the specified items together, separated by 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 returns information on the symbolic link itself, rather than 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 the file. If a block is specified, the block is executed with the new file passed as an argument. When the block exits, the file is automatically closed. These methods differ from Kernel.open in that even if path starts with |, the following string is not run as a command.
22File::owned?( path)
Returns true if path is owned by the 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 by the real user.
25File::readlink( path)
Returns the file that path points to.
26File::rename( old, new)
Changes the file name old to new.
27File::setgid?( path)
Returns true if the set-group-id permission bit of path is set.
28File::setuid?( path)
Returns true if the set-user-id permission bit of path is set.
29File::size( path)
Returns the file size of path.
30File::size?( path)
Returns the file size of path, or nil if it is zero.
31File::socket?( path)
Returns true if path is a socket.
32File::split( path)
Returns an array containing the components of path, split into File::dirname(path) and File::basename(path).
33File::stat( path)
Returns a File::Stat object with information on path.
34File::sticky?( path)
Returns true if the sticky bit of path is set.
35File::symlink( old, new)
Creates a symbolic link to the file old.
36File::symlink?( path)
Returns true if path is a symbolic link.
37File::truncate( path, len)
Truncates the specified file to len bytes.
38File::unlink( path...)
Deletes the file given by path.
39File::umask([ mask])
If no argument is specified, returns the current umask for the process. If an argument is specified, sets the umask and returns the old umask.
40File::utime( atime, mtime, path...)
Changes the access and modification times of the specified file.
41File::writable?( path)
Returns true if path is writable.
42File::writable_real?( path)
Returns true if path is writable by the real user.
43File::zero?( path)
Returns true if the file size of path is zero.

Instance Methods

AssumefYesFilean instance of the class:

No.Method & Description
1f.atime
Returns the last access time of f.
2f.chmode( mode)
Changes the permission mode of f.
3f.chown( owner, group)
Changes the owner and group of f.
4f.ctime
Returns the last inode change time of f.
5f.flock( op)
Calls flock(2). op can be 0 or a logical value or one of the File class constants LOCK_EX, LOCK_NB, LOCK_SH, and LOCK_UN.
6f.lstat
Same as stat, but returns information on the symbolic link itself, rather than the file it points to.
7f.mtime
Returns the last modification time of f.
8f.path
Returns the pathname used to create f.
9f.reopen( path[, mode="r"])
Reopens the file.
10f.truncate( len)
Truncates f to len bytes.
Other Extensions