/* * 練習問題22.12 p.573 * 467頁の属性を読むメソッドをscannerを使用して書き直しなさい。 * この練習問題に関しては、どちらのバージョンも正しくフォーマットされた入力を受け付けるだけで * よいです。 */ package ch22.ex22_12; import java.io.FileReader; import java.io.Reader; import java.util.Scanner; public class EX2212 { public static Attributed readAttrs(Reader source) { Scanner in = new Scanner(source); AttributedImpl attrs = new AttributedImpl(); Attr attr = null; in.useDelimiter("=|#.*\\r\\n|\\r\\n"); while(in.hasNext()) { attr = new Attr(in.next()); attr.setValue(in.next()); attrs.add(attr); attr = null; } return attrs; } public static void main(String[] args) { AttributedImpl result = null; try { result = (AttributedImpl)EX2212.readAttrs(new FileReader("JPL/ch22/ex22_12/test.txt")); } catch(Exception e) { System.out.println(e); } for(Attr tmp: result) { System.out.println(tmp.getName() + ": " + tmp.getValue()); } } }