- 締切済み
CSVファイルからのデータ検索
学校の課題なんですが、ここで質問させて下さい。 課題: CSVファイルからのデータ検索ページを作成しなさい。 また、HTMLファイルのフォームから送られてきた文字列を検索の条件に使用し、結果をJSPを使い<table>で出力しなさい。 なお検索結果が 一戸建て,2LDK,東京都 一戸建て,2LDK,埼玉県 であるならば、 一戸建て,2LDK,東京都 -,-,埼玉県 と表示しなさい。 [使用するCSV] 一戸建て,2LDK,東京都 一戸建て,2LDK,埼玉県 一戸建て,3LDK,埼玉県 マンション,3K,北海道 マンション,4K,大阪府 ttp://www.iis.u-tokyo.ac.jp/~susaki/envinfo/jsp_csvfile.html#form_reg ↑を参考にCSVの検索はなんとかなりそうなんですが、検索結果の置換?がよくわからないです。 ご教授お願い致します。。。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
参考ページが404になりますが、CSVの検索はなんとかなりそうとのことですので、置換部分で居住形態を参考におこしてみます。 変数名は適当です。 String a = null; // 形態 String a2 = null; // 形態 while (CSV全行読み込みが終わるまでの条件) { a = 当該行の形態; if (a.equals(a2)) { // ここなら前の行と値が一緒の処理 } else { // ここなら前の行と値が別の処理 } a2 = 当該行の形態(次行と比較を行うために保持) } 前の行と同じか比較するってことでよいんですよね?
お礼
ありがとうございます。 お礼が遅くなりすみませんでした。 結局課題は提出できませんでしたが、色々試行錯誤しまして何とか形にすることができました。 ただここからのCSV検索が未だできず。。。どうすれば。。。 import java.io.BufferedReader; import java.io.IOException; import java.io.StringReader; import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) throws IOException { String csv = "一戸建て,2LDK,東京都\n一戸建て,2LDK,埼玉県 \n一戸建て,3LDK,埼玉県 \n"; BufferedReader br = new BufferedReader(new StringReader(csv)); List<List<String>> outList = new ArrayList<List<String>>(); String[] before = new String[4]; for (String line; (line = br.readLine()) != null;) { String[] value = line.split(","); List<String> row = new ArrayList<String>(); for (int i = 0; i < value.length; i++) { if (before[i] != null && before[i].equals(value[i])) { row.add("-"); } else { row.add(value[i]); } } outList.add(row); for (int i = 0; i < value.length; i++) { before[i] = value[i]; } } System.out.println("<html><body>"); for (List<String> list : outList) { System.out.println("<tr>"); for (String str : list) { System.out.print("<td>" + str + "</td>"); } System.out.println("</tr>"); } System.out.println("</body></html>"); } }