File.basename('/home/test/ruby.rb') #=> ruby.rb File.basename('/home/test/ruby.rb', '.rb') #=> ruby File.basename('/home/test/ruby.rb', '.*') #=> ruby
File.dirname('/home/test/ruby.rb') #=> /home/test File.dirname('ruby.rb') #=> .
File.extname('test.rb') #=> .rb File.extname('a/b/c/test.rb') #=> .rb File.extname('text') #=> ""
File.expand_path('test') #=> D:/Program Files/RubyMine 2017.1.5/workspace/File/test File.expand_path('test', 'D:/') #=> D:/test
File.split('/home/test/ruby.rb') #=> ['/home/test', 'ruby.rb'] File.split('ruby.rb') #=> ['.', 'ruby.rb']
File.join('user', 'mail', 'ruby.rb') #=> user/mail/ruby.rb
File.rename('1.txt', '2.txt')
File.directory?('.') #-> true
File.exist?('test.txt') #-> true
File.file?('test.txt') #=> true File.file?('.') #=> false
File.socket?('test.txt') #=> false
File.new(filename, modestring='r') -> file
File.new(filename <, modenum <, permission>>) -> file
File.new(fd <, modenum <, permission>>) -> file
根據模式modestring(默認爲r)打開名爲filename的文件(或關聯已經打開的文件描述符fd)並返回一個新的File對象html
File.new('afile', 'r') File.new('bfile', 'w+') File.new('cfile', File::CREAT|File::TRUNC|File::RDWR)
File.open(filename, modestring='r') -> file
File.open(filename <, modenum <, permission>>) -> file
File.open(fd <, modenum <, permission>>) -> file
File.open(filename, modestring='r'){|file| block } -> obj
File.open(filename <, modenum <, permission>>){|file| block } -> obj
File.open(fd <, modenum <, permission>>){|file| block } -> obj數組
若是沒有關聯的block,那麼open和File.new同義,若是提供了代碼block,他將傳遞file做爲參數,
而且當block執行結束時文件將被自動關閉,這種狀況下,File.open返回block的值
ruby
File.readable?('test.txt') #=> true
File.writable?('test.txt') #-> true
File.size('test.txt') #=> 9
最後瞭解一下於文件操做相關的庫:socket
find,tempfile,fileutils,pathname測試
參考:https://ninghao.net/blog/4097spa
http://www.cnblogs.com/cnblogsfans/archive/2009/09/17/1568804.html操作系統