- ベストアンサー
テキストファイルの読込み
鈴木一郎 19 tokyo 伊藤次郎 20 kumamoto 鈴木一郎 11 osaka 佐藤花子 21 kyoto テキストファイルから上のように書き込まれている(データ数は変わる)データを「name」「age」「address」の変数を持った クラス「SortList」型のリストに格納したいのですが、どのようにすればよいのでしょうか 以下のようにテキストファイルから取得した「name」「age」「address」をセットしていく感じにしたいのです ArrayList<SortList> slist = new ArrayList<SortList>(); SortList setdata = new SortList(); setdata.setName(name); setdata.setAge(age); setdata.setAddress(address); slist.add(setdata);
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
// ファイルの読み込み BufferedReader bfr = new BufferedReader(new FileReader("text.txt")); String str; String[] strRow; ArrayList<SortList> slist = new ArrayList<SortList>(); SortList setdata = new SortList(); // 一行ずつ読み込む(EOFとなったら終了) while((str = bfr.readLine()) != null){ // デリミタ(質問者の場合は半角スペース?)でデータを分割 strRow = str.split(" "); // データをセット setdata.setName(strRow[0]); setdata.setAge(strRow[1]); setdata.setAddress(strRow[2]); // Listにセット slist.add(setdata); } ※ 当然ですがテキストファイルの「name」「age」「address」のデータに空白スペースが入るとうまく動作しません。
その他の回答 (1)
- say2005
- ベストアンサー率36% (18/50)
このテキストファイルは実際には 鈴木一郎▲19▲tokyo(改行) 伊藤次郎▲20▲kumamoto(改行) 鈴木一郎▲11▲osaka(改行) 佐藤花子▲21▲kyoto(改行) となっています StringTokenizer をつかって分割しましょう。
お礼
回答ありがとうございます。 参考になりました。
お礼
回答ありがとうございます おかげでうまくいきました。