challenge 条件を満たす行を取り除く

ファイルから1行ずつ読み込み、"#"で始まる行だけを取り除いてファイルに出力するコードを書いてください。

サンプル入力

hello!
# remove this
 # don't remove this
bye!
サンプル出力
hello!
 # don't remove this
bye!

Posted feedbacks - Java

Script系はさすがに短いなぁ…
closeしてないけどreaderだから許して?
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import java.io.*;

public class RemoveLine {
	public static void main(String args[]) {
		if (args.length < 1) return;
		
		try {
			BufferedReader reader = new BufferedReader(new FileReader(args[0]));
			String line = reader.readLine();
			while (line != null) {
				if (!line.startsWith("#"))
					System.out.println(line);
				line = reader.readLine();
			}
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}
}

Javaでファイル入出力ってあんまりやったことなかったなぁ。めんどくさそうなイメージがあったから。
やってみるとやっぱりm(ry
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;

public class ExcludeComment {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new FileReader(args[0]));
        FileWriter fw = new FileWriter("result");
        String line;
        while ((line = br.readLine()) != null) {
            line = line.trim();
            if (!line.startsWith("#")) {
                fw.write(line + "\n");
            }
        }
        br.close();
        fw.close();
    }
}

Index

Feed

Other

Link

Pathtraq

loading...