文件路径
require 'pathname'
path1=Pathname.new(File.dirname(__FILE__)).realpath.parent #获取文件所在父目录的绝对路径
path2=Pathname.new(File.dirname(__FILE__)).realpath #获取文件所在目录的绝对路径
$:.unshift File.join(File.dirname(__FILE__),'..') #加载文件所在目录的父目录的相对路径至ruby全局变量
$:.unshift(File.expand_path(File.join(File.dirname(__FILE__),'..'))) #加载文件所在目录的父目录的绝对路径至ruby全局变量
读取一个文件,将其打印出来:
lines = File .open( 'dom.js' ).readlines
puts "======================="
lines. each { |line| puts(line)}
|
或者:
File .open( "dom.js" ) do |file|
while line = file.gets
puts line
end
end
|
后一种能确保文件用完后被关闭。
向目标文件追加内容:
file = File .open( "dom.js" , "a" )
file.puts "//this is new content. "
file.close
|
但这有时可能出现不能添加中文内容的情况,报“invalid multibyte char (US-ASCII) ”错误,我们就要在当前脚本的最上面添加这么一下注释,就没事了,即
file = File .open( "dom.js" , "a" )
file.puts "//这是新追加的内容. "
file.close
|
创建一个新文件,并往其里面添加内容。
file = File . new ( "new_file.js" , "w" );
file << 'var a = "test";'
file.close;
|
文件重命名:
File .rename( "new_file.js" , "new.js" )
|
删除文件
目录操作:
Dir .mkdir( "new" )
Dir .rmdir( "new" )
|
将一个文件拷贝到目标目标:
require 'fileutils'
FileUtils.cp
'new.js' , 'new'
|
将一个文件移动到目标目标:
require 'fileutils'
FileUtils.mv
'new.js' , 'new'
|
判断一个文件是否存在
require 'fileutils'
puts FileTest::exist?(file_path)
#false 不存在 true 存在
|