JAVA プログラミング 入門

JAVAのプログラミングについて初歩から解説します。まずは、mainメソッド、変数、演算、if文、for文、while文、メソッド、配列など。続いて、メソッドを複数構成して、プログラムを作成(非オブジェクト指向プログラミング)、しばらく後になると思いますが、オブジェクト指向プログラミングを解説します。 クラスの構成、コンストラクター、継承、・・・、など、本格的OOP(Object Oriented Programming)を解説します。

JAVA: CSV FILE (データがコンマで区切られたファイル)を扱う

CSV FILEはエクセルなどでもよく使われている。Proo15_1.javaはCSV FILE(a.txt)の各行の合計を計算し、それを各行の末尾に追加するプログラムである。ただし、元のCSV FILEはそのまま残り、結果ファイル(b.txt)が新しくできる。

Proo15_1.java

/* CSV FILE の各行の合計を 各行の末尾に付加する  */
import java.util.*;
import java.io.*;
class Proo15_1 {
	public static void main(String args[]) throws IOException
	{
		int t=0,i;
		BufferedReader br=
			new BufferedReader(new FileReader("a.txt"));
		PrintWriter pw =
			new PrintWriter(new BufferedWriter(new FileWriter("b.txt")));
                String str;
		while((str=br.readLine())!=null){
			t=0;i=0;
			StringTokenizer st = new StringTokenizer(str, ",");
			while(st.hasMoreTokens()) {
				String s = st.nextToken();
				i=Integer.parseInt(s);
				t=t+i;
				pw.print(i+",");
			}
			pw.println(t);
		}
		br.close();
		pw.close();
	}
}
/* 
FILE a.txt(input data)
1,2,3,4,5,6,7,8,9,10
4,5,6
7,8,9

FILE b.txt(結果ファイル)
1,2,3,4,5,6,7,8,9,10,55
4,5,6,15
7,8,9,24
*/

説明:
2行 StringTokenierというclassがあるjava.utilとうパッケージをimportしている。
3行 BufferedReaderなどのioのライブラリclassを使うため。
15行 読み込んだ一行(str)をStringTokenizerにセットしている。つまり、カンマで区切られたデータを一つ一つ取り出すため。
16行 まだデータ(トークン)があるかチェックする。
17行 データを一つ取り出す。
18行 文字列の整数をintに変換する
20行 intデータと”,”をファイルに書き出している。
22行 一行の合計値をファイルに書き込んでいる。
30から32行 入力データ
35から37行 出力データ

JAVA PROGRAMMING 入門 TOP へ