

下面ruby程序?qū)崿F(xiàn)cat命令,把一個(gè)文本文件復(fù)制為一個(gè)新的文件
vim cat.rb
IO.copy_stream(STDIN,STDOUT)
然后執(zhí)行:(前提是要有aaa.txt文件存在)
ruby cat.rb < aaa.txt > output.txt
我們查看是否復(fù)制了一個(gè)文件

字符串寫入文件案例:

vim write.rb
File.dirname(FILE),表示當(dāng)前文件的家目錄,write.txt表示要寫入內(nèi)容的文件
abs_path = File.expand_path("write.txt",File.dirname(FILE))
絕對(duì)路徑,下面2行是寫入的文件內(nèi)容
IO.write abs_path, <<EOF
Line 1, first line
Line 2, second line
EOF
執(zhí)行
ruby write.rb
[root@master1 ruby]# cat write.txt
Line 1, first line
Line 2, second line
[root@master1 ruby]#
字符串讀入文件案例

vim read.rb
讀取一個(gè)存在的文件
file_path = File.expand_path("write.txt",File.dirname(FILE))
puts(IO.read file_path)
讀取一個(gè)不存在的文件
unexist_path = File.expand_path("unexist.txt",File.dirname(FILE))
begin
puts(IO.read unexist_path)
rescue SystemCallError => e
puts(e.class)
puts(e)
end
[root@master1 ruby]# ruby read.rb
Line 1, first line
Line 2, second line
Errno::ENOENT
No such file or directory - /m8/ruby/unexist.txt
[root@master1 ruby]#