All Libraries > library _builtin > class File
ancestors: File < IO < Enumerable < File::Constants < Object < Kernel
ファイルアクセスのためのクラスです。
通常 Kernel.#open または File.open を使って生成します。 IO クラスがインクルードしている File::Constants は File クラスに関係する定数を 格納したモジュールです。 また File::Stat は stat 構造体( stat(2) 参照)を表すクラスです。
signature | description | |
---|---|---|
atime(filename) -> Time | 最終アクセス時刻を返します。 |
|
basename(filename, suffix = "") -> String | filename の一番後ろのスラッシュに続く要素を返します。もし、 引数 suffix が与えられて、かつそれが filename の末尾に 一致するなら、それを取り除いたものを返します。 |
|
blockdev?(path) -> bool | FileTest.#blockdev? と同じです。 |
|
chardev?(path) -> bool | FileTest.#chardev? と同じです。 |
|
chmod(mode, files[, ...][, verbose = false]) | (複数の)ファイルの属性を変えます。 オリジナルの File.chmod に verbose の指定が 追加されるだけです。 |
ftools |
chmod(mode, *filename) -> Integer | ファイルのモードを mode に変更します。モードを変更したファイ ルの数を返します。 |
|
chown(owner, group, *filename) -> Integer | ファイルのオーナーとグループを変更します。スーパーユーザだけがファ イルのオーナーとグループを変更できます。変更を行ったファイルの数を 返します。 |
|
ctime(filename) -> Time | 状態が最後に変更された時刻を返します。 状態の変更とは chmod などによるものです。 |
|
delete(*filename) -> Integer unlink(*filename) -> Integer |
ファイルを削除します。削除したファイルの数を返します。 削除に失敗した場合は例外 Errno::EXXX が発生します。 |
|
directory?(path) -> bool | FileTest.#directory? と同じです。 |
|
dirname(filename) -> String | filename の一番後ろのスラッシュより前を文 字列として返します。スラッシュを含まないファイル名に対しては "."(カレントディレクトリ)を返します。 |
|
executable?(path) -> bool | FileTest.#executable? と同じです。 |
|
executable_real?(path) -> bool | FileTest.#executable_real? と同じです。 |
|
exist?(path) -> bool | FileTest.#exist? と同じです。 |
|
exists?(path) -> bool | このメソッドはobsoleteです。 |
|
expand_path(path, default_dir = '.') -> String | path を絶対パスに展開した文字列を返します。 path が相対パスであれば default_dir を基準にします。 |
|
extname(filename) -> String | ファイル名 filename の拡張子部分(最後の "." に続く文字列)を 返します。ディレクトリ名に含まれる "." や、ファイル名先頭の "." は拡張子の一部としては見なされません。filename に拡張子が含 まれない場合は空文字列を返します。 |
|
file?(path) -> bool | FileTest.#file? と同じです。 |
|
fnmatch(pattern, path, flags = 0) -> bool fnmatch?(pattern, path, flags = 0) -> bool |
ファイル名のパターンマッチ fnmatch(3) を行います。 path が pattern にマッチすれば真を返します。そうでない場合には false を返します。 |
|
new(fd, mode = "r") -> IO for_fd(fd, mode = "r") -> IO open(fd, mode = "r") -> IO open(fd, mode = "r") {|io| ... } -> object |
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。 |
IO |
foreach(path, rs = $/) {|line| ... } -> nil | path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。 path のオープンに成功すれば nil を返します。 |
IO |
ftype(filename) -> String | ファイルのタイプを表す文字列を返します。文字列は以下のうちのいずれ かです。File.lstat(filename).ftype と同じで す。シンボリックリンクに対して "link" を返します。 |
|
grpowned?(path) -> bool | FileTest.#grpowned? と同じです。 |
|
identical?(filename1, filename2) -> bool | FileTest.#identical? と同じです。 |
|
join(*item) -> String | File::SEPARATORを間に入れて文字列を連結します。 |
|
lchmod(mode, *filename) -> Integer | File.chmod と同様ですが、シンボリックリンクに関してリンクそのものの モードを変更します。 |
|
lchown(owner, group, *filename) -> Integer | File#chown と同様ですが、 シンボリックリンクに関してリンクそのもののオーナー、 グループを変更します。 |
|
link(old, new) -> 0 | old を指す new という名前のハードリンクを 生成します。old はすでに存在している必要があります。 ハードリンクに成功した場合は 0 を返します。 |
|
lstat(filename) -> File::Stat | File.statと同様ですが、シンボリックリンクに関してリンクそのものの 情報を File::Stat として返します。lstat(2) を実装していないシステムでは、File.stat と同じです。 |
|
mtime(filename) -> Time | 最終更新時刻を返します。 |
|
new(path, mode = "r", perm = 0666) -> File open(path, mode = "r", perm = 0666) -> File open(path, mode = "r", perm = 0666) {|file| ... } -> object |
path で指定されるファイルをオープンし、File オブジェクトを生成して 返します。 |
|
owned?(path) -> bool | FileTest.#owned? と同じです。 |
|
path(filename) -> String | 指定されたファイル名を文字列で返します。filename が文字列でない場合は、to_path メソッドを呼びます。 |
|
pipe -> [IO] | IO | |
pipe?(path) -> bool | FileTest.#pipe? と同じです。 |
|
popen(command, mode = "r") -> IO popen(command, mode = "r") {|io| ... } -> object |
command をサブプロセスとして実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。 |
IO |
popen("-", mode = "r") -> IO popen("-", mode = "r") {|io| ... } -> object |
第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。 |
IO |
read(path, length = nil, offset = 0) -> String | nil | path で指定されたファイルを offset 位置から length バイト分読み込んで返します。 |
IO |
readable?(path) -> bool | FileTest.#readable? と同じです。 |
|
readable_real?(path) -> bool | FileTest.#readable_real? と同じです。 |
|
readlines(path, rs = $/) -> [String] | path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。 |
IO |
readlink(path) -> String | シンボリックリンクのリンク先のパスを文字列で返します。 |
|
rename(from, to) -> 0 | ファイルの名前を変更します。ディレクトリが異なる場合には移動も行い ます。rename(2) を参照してください。移動先のファ イルが存在する時には上書きされます。 |
|
select(reads, writes = [], excepts = [], timeout = nil) -> [[IO]] | nil | select(2) を実行します。 与えられた入力/出力/例外待ちの IO オブジェクトの中から準備ができたものを それぞれ配列にして、配列の配列として返します。 タイムアウトした時には nil を返します。 |
IO |
setgid?(path) -> bool | FileTest.#setgid? と同じです。 |
|
setuid?(path) -> bool | FileTest.#setuid? と同じです。 |
|
size(path) -> Integer | FileTest.#size と同じです。 |
|
size?(path) -> bool | FileTest.#size? と同じです。 |
|
socket?(path) -> bool | FileTest.#socket? と同じです。 |
|
split(pathname) -> [String] | pathname を dirname とbasename に分割して、2 要 素の配列を返します。 |
|
stat(filename) -> File::Stat | filename の情報を含む File::Stat オブジェクトを生成し て返します。 |
|
sticky?(path) -> bool | FileTest.#sticky? と同じです。 |
|
symlink(old, new) -> 0 | old への new という名前のシンボリックリンクを生成します。 |
|
symlink?(path) -> bool | FileTest.#symlink? と同じです。 |
|
sysopen(path, mode = "r", perm = 0666) -> Integer | path で指定されるファイルをオープンし、ファイル記述子を返しま す。 |
IO |
truncate(path, length) -> 0 | path で指定されたファイルのサイズを最大 length バイト にします。 |
|
umask -> Integer | 現在の umask の値を返します。 |
|
umask(umask) -> Integer | umask を変更します。変更前の umask の値を返します |
|
utime(atime, mtime, *filename) -> Integer | ファイルの最終アクセス時刻と更新時刻を変更します。変更したファイル の数を返します。変更に失敗した場合は例外 Errno::EXXX が発生 します。 |
|
world_readable?(path) -> Integer | nil | path が全てのユーザから読めるならばそのファイルのパーミッションを表す 整数を返します。そうでない場合は nil を返します。 |
|
world_writable?(path) -> bool | path が全てのユーザから書き込めるならば、そのファイルのパーミッションを表す 整数を返します。そうでない場合は nil を返します。 |
|
writable?(path) -> bool | FileTest.#writable? と同じです。 |
|
writable_real?(path) -> bool | FileTest.#writable_real? と同じです。 |
|
zero?(path) -> bool | FileTest.#zero? と同じです。 |
signature | description | |
---|---|---|
<<(object) -> self | object を出力します。object が文字列でない時にはメソッ ド to_s を用いて文字列に変換します。 |
IO |
atime -> Time | 最終アクセス時刻を Time オブジェクトとして返します。 |
|
binmode -> self | ストリームをバイナリモードにします。MSDOS などバイナリモードの存在 する OS でのみ有効です。そうでない場合このメソッドは何もしません。 |
IO |
bytes -> Enumerable::Enumerator | 自身を 1 バイトずつ整数としてイテレートするような Enumerable::Enumerator オブジェクトを生成して返します。 |
IO |
chmod(mode) -> 0 | ファイルのモードを指定された mode に変更します。 |
|
chown(owner, group) -> 0 | ファイルのオーナーとグループを変更します。 |
|
clone -> IO dup -> IO |
レシーバと同じ IO を参照する新しい IO オブジェクトを返します。 参照しているファイル記述子は dup(2) されます。 |
IO |
close -> nil | 入出力ポートをクローズします。 |
IO |
close_read -> nil | 読み込み用の IO を close します。主にパイプや読み書き両用に作成し た IO オブジェクトで使用します。 |
IO |
close_write -> nil | 書き込み用の IO を close します。 |
IO |
closed? -> bool | ポートがクローズされている時に真を返します。 |
IO |
ctime -> Time | 状態が最後に変更された時刻を Time オブジェクトとして返します。状態の変更とは chmod などによるものです。 |
|
each(rs = $/) {|line| ... } -> self each_line(rs = $/) {|line| ... } -> self |
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。 |
IO |
each_byte {|ch| ... } -> self | IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。 |
IO |
eof -> bool eof? -> bool |
ストリームがファイルの終端に達した場合、true を返します。そうでない場合、false を返します。 |
IO |
fcntl(cmd, arg = 0) -> Integer | IOに対してシステムコール fcntl を実行します。 機能の詳細は fcntl(2) を参照してください。 fcntl(2) が返した整数を返します。 |
IO |
fileno -> Integer to_i -> Integer |
ファイル記述子を表す整数を返します。 |
IO |
flock(operation) -> 0 | false | ファイルをロックします。 |
|
flush -> self | IO ポートの内部バッファをフラッシュします。 |
IO |
fsync -> 0 | nil | 書き込み用の IO に対して、システムコール fsync(2) を実行します。IO#flush を行ったあと、(OSレベルで)まだディスクに 書き込まれていないメモリ上にあるデータをディスクに書き出します。 |
IO |
getc -> Integer | nil | IO ポートから 1 文字読み込んで、その文字に対応する Fixnum を 返します。EOF に到達した時には nil を返します。 |
IO |
gets(rs = $/) -> String | nil | 一行読み込んで、読み込みに成功した時にはその文字列を返します。 EOF に到達した時には nil を返します。 |
IO |
ioctl(cmd, arg = 0) -> Integer | IO に対してシステムコール ioctl を実行し、その結果を返します。 機能の詳細は ioctl(2) を参照してください。 |
IO |
isatty -> bool tty? -> bool |
入出力ポートがttyに結合している時、真を返します。そうでない場合 false を返します。 |
IO |
lineno -> Integer | 現在の行番号を整数で返します。実際には IO#gets が呼ばれた回数です。 改行以外のセパレータで gets が呼ばれた場合など、実際の行番号と異なる場合があります。 |
IO |
lineno=(number) | 現在の行番号を number にセットします。 $. は次回の読み込みの時に更新されます。 |
IO |
lines(rs = $/) -> Enumerable::Enumerator | 自身を 1 行ずつイテレートするような Enumerable::Enumerator オブジェクトを生成して返します。 |
IO |
lstat -> File::Stat | ファイルの状態を含む File::Stat オブジェクトを生成して返します。 シンボリックリンクに関してリンクそのものの情報を返します。 lstat(2) を実装していないシステムでは、IO#statと同じです。 |
|
mtime -> Time | 最終更新時刻を Time オブジェクトとして返します。 |
|
path -> String | オープン時に使用したパスを文字列で返します。 |
|
pid -> Integer | nil | 自身が IO.popen で作られたIOポートなら、子プロセスのプロセス ID を 返します。それ以外は nil を返します。 |
IO |
pos -> Integer tell -> Integer |
ファイルポインタの現在の位置を整数で返します。 |
IO |
pos=(n) | ファイルポインタを指定位置に移動します。 IO#seek(n, IO::SEEK_SET) と同じです。 |
IO |
print(*arg) -> nil | 引数を IO ポートに順に出力します。引数を省略した場合は、$_ を出力します。 |
IO |
printf(format, *arg) -> nil | C 言語の printf と同じように、format に従い引数 を文字列に変換して、self に出力します。 |
IO |
putc(ch) -> object | 文字 ch を self に出力します。 引数の扱いは Kernel.#putc と同じです。詳細はこちらを参照し てください。ch を返します。 |
IO |
puts(*obj) -> nil | 各 obj を self に出力し、それぞれの後に改行を出力します。 引数の扱いは Kernel.#puts と同じです。詳細はこちらを参照し てください。 |
IO |
read(length = nil, outbuf = "") -> String | nil | length バイト読み込んで、その文字列を返します。 |
IO |
read_nonblock(maxlen, outbuf = "") -> String | IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。 |
IO |
readchar -> Integer | IO ポートから 1 文字読み込んで、その文字に対応する Fixnum を 返します。EOF に到達した時には EOFError が発生します。 |
IO |
readline(rs = $/) -> String | 一行読み込んで、読み込みに成功した時にはその文字列を返します。 EOF に到達した時には EOFError が発生します。 |
IO |
readlines(rs = $/) -> [String] | データを全て読み込んで、その各行を要素としてもつ配列を返します。 既に EOF に達していれば空配列 [] を返します。 |
IO |
readpartial(maxlen, outbuf = "") -> String | IO から長さ maxlen を上限として読み込み、文字列として返します。 即座に得られるデータが存在しないときにはブロックしてデータの到着を待ちます。 即座に得られるデータが 1byte でも存在すればブロックしません。 |
IO |
reopen(io) -> self | 自身を指定された io に繋ぎ換えます。 |
IO |
reopen(path) -> self reopen(path, mode) -> self |
path で指定されたファイルにストリームを繋ぎ換えます。 |
IO |
rewind -> 0 | ファイルポインタを先頭に移動します。IO#lineno は 0 になります。 |
IO |
seek(offset, whence = IO::SEEK_SET) -> 0 | ファイルポインタを whence の位置から offset だけ移動させます。 offset 位置への移動が成功すれば 0 を返します。 |
IO |
stat -> File::Stat | ファイルのステータスを含む File::Stat オブジェクトを生成して 返します。 |
IO |
sync -> bool sync=(newstate) |
現在の出力が同期モードならば true を返します。そうでない場合は false を返します。 自身を同期モードに設定すると、出力関数の呼出毎にバッファがフラッシュされます。 |
IO |
sysread(maxlen, outbuf = "") -> String | read(2) を用いて入力を行ない、入力されたデータを 含む文字列を返します。stdio を経由しないので gets や getc や eof? などと混用すると思わぬ動作 をすることがあります。 |
IO |
sysseek(offset, whence = IO::SEEK_SET) -> Integer | lseek(2) と同じです。IO#seek では、 IO#sysread, IO#syswrite と併用すると正しく動作しないので代わりにこのメソッドを使います。 位置 offset への移動が成功すれば移動した位置(ファイル先頭からのオフセット)を返します。 |
IO |
syswrite(string) -> Integer | write(2) を用いて string を出力します。 string が文字列でなければ to_s による文字列化を試みます。 実際に出力できたバイト数を返します。 |
IO |
to_io -> self | self を返します。 |
IO |
truncate(length) -> 0 | ファイルのサイズを最大 length バイトにします。 |
|
ungetc(char) -> nil | 指定された char を読み戻します。2バイト以上の読み戻しは保証されません。 |
IO |
write(str) -> Integer | IOポートに対して str を出力します。str が文字列でなけ れば to_s による文字列化を試みます。 実際に出力できたバイト数を返します。 |
IO |
write_nonblock(string) -> Integer | IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。 write(2) が成功した場合、書き込んだ長さを返します。 EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。 |
IO |
signature | description | |
---|---|---|
ALT_SEPARATOR | システムのファイルパスのセパレータが SEPARATOR と異なる場合 に設定されます。MS-DOS などでは "\" です。UNIX や Cygwin などでは nil です。 |
|
PATH_SEPARATOR | PATH 環境変数の要素のセパレータです。UNIX では ":" MS-DOS な どでは ";" です。 |
|
SEPARATOR Separator |
ファイルパスのセパレータです。ファイルを扱うメソッドにパス名を渡す 場合などスクリプト内のパス名は環境によらずこのセパレータで統一され ます。値は "/" です。 |
all?
any?
collect
detect
each_cons
each_slice
each_with_index
entries
enum_cons
enum_slice
enum_with_index
find_all
grep
include?
inject
max
max_by
min
min_by
partition
reject
sort
sort_by
zip
::APPEND
::BINARY
::CREAT
::EXCL
::FNM_CASEFOLD
::FNM_DOTMATCH
::FNM_NOESCAPE
::FNM_PATHNAME
::FNM_SYSCASE
::LOCK_EX
::LOCK_NB
::LOCK_SH
::LOCK_UN
::NOCTTY
::NONBLOCK
::RDONLY
::RDWR
::SYNC
::TRUNC
::WRONLY
<<
binmode
bytes
clone
close
close_read
close_write
closed?
each
each_byte
eof
expect
fcntl
fileno
flush
fsync
getc
ioctl
isatty
lineno
lineno=
lines
nonblock
nonblock=
nonblock?
pid
pos
pos=
read
read_nonblock
readbytes
readchar
readpartial
ready?
reopen
rewind
seek
stat
sync
sysread
sysseek
syswrite
to_io
to_ptr
ungetc
wait
write
write_nonblock
.for_fd
.foreach
.pipe
.popen
.read
.readlines
.select
.sysopen
::SEEK_CUR
::SEEK_END
::SEEK_SET
BigDecimal
DelegateClass
Digest
Fail
Mainloop
Pathname
Rational
TkGrid
TkPack
TkPlace
URI
append_library
arg_config
check_sizeof
checking_for
cp
create_header
create_makefile
dir_config
egrep_cpp
enable_config
find_header
find_library
getopts
have_func
have_header
have_library
have_macro
have_struct_member
have_type
have_var
help
install
install_rb
ln
mkdir
mv
parseArgs
pkg_config
pp
rm
rmdir
scanf
timeout
touch
try_compile
try_cpp
try_link
try_run
try_static_assert
what_type?
with_config
xmp
y
.#Array
.#Float
.#Integer
.#String
.#`
.#abort
.#at_exit
.#autoload
.#autoload?
.#b64encode
.#binding
.#block_given?
.#callcc
.#caller
.#catch
.#decode64
.#decode_b
.#encode64
.#eval
.#exec
.#exit
.#fail
.#fork
.#format
.#gets
.#global_variables
.#lambda
.#load
.#local_variables
.#loop
.#open
.#p
.#print
.#printf
.#putc
.#puts
.#raise
.#rand
.#readlines
.#require
.#select
.#set_trace_func
.#sleep
.#spawn
.#srand
.#syscall
.#system
.#test
.#throw
.#trace_var
.#trap
.#untrace_var
.#warn
::ARGF
::ARGV
::CFLAGS
::CONFIG
::CPP
::DATA
::ENV
::FALSE
::LINK
::NIL
::RUBY_PLATFORM
::RUBY_RELEASE_DATE
::RUBY_VERSION
::SCRIPT_LINES__
::STDERR
::STDIN
::STDOUT
::TOPLEVEL_BINDING
::TRUE
==
===
=~
__id__
__send__
_dump
class
dclone
display
enum_for
eql?
equal?
extend
freeze
frozen?
hash
initialize
initialize_copy
inspect
instance_eval
instance_of?
instance_variable_defined?
instance_variable_get
instance_variable_set
instance_variables
is_a?
marshal_dump
method
method_missing
methods
nil?
pretty_inspect
pretty_print
pretty_print_cycle
pretty_print_inspect
pretty_print_instance_variables
private_methods
protected_methods
public_methods
remove_instance_variable
respond_to?
singleton_method_added
singleton_method_removed
singleton_method_undefined
singleton_methods
taint
tainted?
to_ary
to_hash
to_int
to_proc
to_regexp
to_s
to_splat
to_str
to_yaml
to_yaml_properties
to_yaml_style
untaint
signature | description | library |
---|---|---|
catname(from, to) | If to is a valid directory, from will be appended to to, adding and escaping backslashes as necessary. Otherwise, to will be returned. Useful for appending from to to only if the filename was not specified in to. |
ftools |
compare(from, to[, verbose = false]) cmp(from, to[, verbose = false]) |
2つのファイルを比較します。 同じなら true、異なるなら false を返します。 |
ftools |
copy(from, to[, verbose = false]) cp(from, to[, verbose = false]) |
ファイルをコピーします。より正確には from を読んで to に書き、モードを変更します。ファイルの更新時刻はコピーした時刻に更 新されます。 |
ftools |
install(from, to[, mode = nil[, verbose = false]]) | ファイルをコピーし、モードを設定します。 コピー先が存在する場合は一旦削除されますので、コピー先のファイルが 他のファイルにハードリンクされていれば、そのリンクは切れます。 install (install(1))コマンドに相当します。 |
ftools |
makedirs(dirs[, ...][, verbose = false]) mkpath(dirs[, ...][, verbose = false]) |
(複数の)ディレクトリを作成します。多階層のパスを一度に作成することも可能です。 ディレクトリが既にあれば何もしません。 mkdir -p(mkdir(1))に相当します。 |
ftools |
move(from, to[, verbose = false]) mv(from, to[, verbose = false]) |
ファイルを移動します。File.rename と異なりパーティション をまたがる移動もできます。 |
ftools |
safe_unlink(files[, ...][, verbose = false]) rm_f(files[, ...][, verbose = false]) |
(複数の)ファイルを可能な限り削除します。削除できたファイルの数を 返します。rm -f(rm(1)) に相当します。 |
ftools |
syscopy(from, to) | Copies a file from to to. If to is a directory, copies from to to/from. |
ftools |