文件路徑
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 存在
|