文件操作
**cp需要用到FileUtils require FileUtils FileUtils.cp()
File.open('file.rb', 'r') do |f|
while line = f.gets # f.getc 获取一个字符
puts line
end
end
File.open('test.rb','r') do |f|
lines = f.readlines
end
File.readlines('file_util.rb') # 读取所有行
File.read('file_util.rb') # 读取所有内容
File.open('test','w') do |f|
f << 'hello' # 追加
f << 'world'
f.puts 'hello'
f.puts 'world'
end
File && Dir
File
irb(main):053:0> full_name="/mnt/d/code/ruby/r1.rb"
=> "/mnt/d/code/ruby/r1.rb"
irb(main):054:0> File.basename(full_name) # 文件名
=> "r1.rb"
irb(main):055:0> File.basename(full_name,'.rb') # 去年后缀的文件名
=> "r1"
irb(main):056:0> File.dirname(full_name) # 文件夹路径
=> "/mnt/d/code/ruby"
irb(main):057:0> File.extname(full_name) # 后缀名
=> ".rb"
irb(main):058:0> File.join('/mnt/d','code') # 拼接
=> "/mnt/d/code"
irb(main):059:0> File.expand_path("~/ruyb") #
=> "/home/andy/ruyb"
irb(main):064:0> File.exist?('.zshrc') # 是否存在
=> true
irb(main):066:0> File.directory?('/home/andy') # 是否是文件夹
=> true
irb(main):067:0> File.file?('.bashrc') # 是否文件
=> true
irb(main):068:0> File.size('.bashrc') # 文件大小
=> 3772
File.rename('oldname','newname') # 重命名
File.delete('test.rb') # 删除
File.symlink('test','old_test')
Dir ```ruby irb(main):060:0> Dir.pwd # 打印路径 => "/home/andy" irb(main):061:0> Dir.chdir('./') # 切换目录 => 0 irb(main):062:0> Dir.pwd => "/home/andy" irb(main):063:0> Dir.entries('./') # 遍历文件 => [".", "..", ".bash_history", ".bash_logout", ".bashrc", ".cache", ".config", ".gem", ".gitconfig", ".ipython", ".jupyter", ".local", ".oh-my-zsh", ".pip", ".profile", ".python_history", ".shell.pre-oh-my-zsh", ".ssh", ".sudo_as_admin_successful", ".vim", ".viminfo", ".wget-hsts", ".zcompdump", ".zcompdump-Andy963-5.4.2", ".zsh_history", ".zshrc", "config", "proxychains-ng"] irb(main):073:0> Dir['config'] # 过滤文件 => ["config"] Dir.glob('/mnt/d/code/ruby/.rb){|f| load f} Dir.mkdir('tmp') # 创建目录 Dir.rmdir('tmp') # 删除目录