ファイル操作を試してみる
よく使いそうな処理だけ調べてみたところ、ファイル関連はFile、FileUtil辺りを探せばやりたい事が一通り出来そうな感じ。簡単にまとめたのがこちら。
require 'FileUtils' fname = "test.txt" # ファイルチェック if File.exist?(fname) # ファイルオープン open(fname) { |fp| puts fp.read } # ファイルコピー FileUtils.cp(fname, fname+"_bk") # ファイル削除 FileUtils.rm(fname) else # ファイル作成 open(fname, "w"){ |fp| fp.puts "test1\n" fp.puts "test2\n" } end
open()はブロックで処理すると自動でクローズされる。
⇒ ブロックを利用しない場合は、下記のように記述。
fp = open(fname) fp.each do |line| puts line end fp.close
ついでにCSVファイルも処理してみた。
open("test.csv") { |fp| fp.each { |line| line.split(',').each { |field| print field } } }
Ruby楽ですね。
慣れてくるとやりたいことが簡単に出来そうな予感。
メモ
open(ファイル, モード)
r | 読み込み |
r+ | 読み書き |
w | 新規作成 |
w+ | 新規作成読み書き |
a | 追加書き込み |
a+ | 追加書き込み読み書き |
これ以外にバイナリモードもある