5月15日

try-with-resources構文復習

Dirクラス動作確認

CHAPTER24まとめの練習問題

問題1解答例

package c24;

import java.io.IOException;
import java.io.PrintWriter;

public class Q1 {
	static final String FILE_NAME = "renshu.txt";
	public static void main(String[] args) {
		try (PrintWriter w = new PrintWriter(FILE_NAME)) {
			w.println("こんにちは!");
			w.println("今日も");
			w.println("元気");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

問題2解答例

package c24;
import static c24.Q1.FILE_NAME;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Q2 {

	public static void main(String[] args) {
		try (BufferedReader r = new BufferedReader(new FileReader(FILE_NAME))) {
			while (true) {
				String s = r.readLine();
				if (s == null) break;
				System.out.println(s);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

問題3解答例

package c24;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

public class Q3 {
	static final String FILE_NAME = "items.txt";
	public static void main(String[] args) {
		List<Item> items = new ArrayList<Item>();
		items.add(new Item("りんご", 5));
		items.add(new Item("バナナ", 12));
		items.add(new Item("かきぴー", 6));
		store(items);
	}

	public static void store(List<Item> items) {
		try (PrintWriter w = new PrintWriter(FILE_NAME)) {
			for (Item i : items) {
				w.println(i.asCSV());
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

問題4解答例

package c24;

import static c24.Q3.*;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class Q4 {

	public static void main(String[] args) {
		List<Item> items = load();
		for (Item i : items) {
			System.out.println(i);
		}
	}

	private static List<Item> load() {
		List<Item> items = new ArrayList<Item>();
		try (BufferedReader r = new BufferedReader(new FileReader(FILE_NAME))) {
			while (true) {
				String s = r.readLine();
				if (s == null || s.length() == 0) break;
				Item i = Item.create(s);
				items.add(i);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return items;
	}
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です