ファイルアクセス

rubyの場合、ファイルアクセスというと、よく目にするのはこんなコードだと思います。

File.open(ARGV.to_s).each {|line| puts line}


1行で書けるなんて、javaでプログラムを学んだぼくにとっては驚きでした。


読みは簡単だとして、ファイルに書くというのはどんなでしょう?
ログの処理とかでよくありそうな、最終行に追加書きというケースを試してみたいと思います。

foo = File.open("foo.txt",'a')
foo <<  "bar\n"
foo.close


参考にしたのは以下のサイトです。
逆引きRuby
しがない「げのまー」の・・・。 2000-01-04 python を使ってみた。その三。


最後にjavaでの追加書きです。
余分な処理は多いですが、核となる、追加書きでファイルを開く、そこに文字列をwriteする。
という処理はあまり変わらないような気がします。
と言いつつも、rubyの追加 << って記法が好きです(^^)

import java.io.*;

public class LastAdd {

	public static void main(String[] args) {
		LastAdd add = new LastAdd();
		add.start();
	}
	
	public void start() {
		try {
			File file = new File("/home/user/foo.txt");
			FileWriter fw = new FileWriter(file,true);
			fw.write("baz");
			fw.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}