java

JavaのScannerクラスは便利

C言語には、strtoken関数がありずいぶんお世話になりました。
JDK1.5からは、Scannerクラスが便利です。
strtoken関数と同じ機能(入力文字列の単語の切り出し、区切り文字の指定)に加えて、型変換もやってくれます。
例えば、1行目がデータ数、2行目移行が幅、高さ、データをデータを読み取るとします。

3
5,6,12=E4D9HIF8=GN576LOABMTPKQSR0J
6,5,238=I67E9MBC1AF05HJKRLNGPDQSTO
4,6,94827601A3BCD5JGMEFNHLKI

次のように書くことができます。
区切り文字を適切に指定すれば、数値は、数値として、文字は文字列として切り出されます。(うーん、便利)

    public static void main( String[] args ) throws FileNotFoundException
{
Scanner scan = new Scanner(new File(args[0]));
int n = scan.nextInt();
String delim = scan.delimiter().pattern() + "|,";
scan.useDelimiter(delim);
for (int i=0; i < n; i++) {
System.out.println(String.format("%d, %d, %s", scan.nextInt(), scan.nextInt(), scan.next()));
}
}
タイトルとURLをコピーしました