0
csv読み込み→カンマ区切りで格納
お世話になっております。
初の投稿になります。
質問させていただきたいのですか。
CSVファイルから読み込んできたデータをいったんリストに入れて、
二次元配列に変換し、読み込んできたデータに対してエラーチェックをかける、ロジックを作っています。エラーチェックというのは読み込んできたデータがカンマ区切りの二項目で構成されたいるかのチェックです。 例(1,2222)
splitメソッドではカンマを数えるメソッドがなく、どうすればよいか悩んでいます。
かといって下記のようにStringTokenizerを使いカンマ区切りで読み込むと二次元に変換できません。
while ((strtoken = fr.readLine()) != null) {
StringTokenizer st = new StringTokenizer(strtoken, ",");
while (st.hasMoreTokens()) {
if(st.countTokens() !=2){
System.out.println("error");
}
String str1 = st.nextToken();
String str2 = st.nextToken();
list1.add(str1 + ","+str2);
list2.add(str1);
count++;
}
count = 0;
}
で、今のところはこのような感じで読込んでおります。
InputStreamReader isr = new InputStreamReader(new FileInputStream(Fname));
BufferedReader fr = new BufferedReader(isr);
String spl = "";
int count = 0;
while ((spl = fr.readLine()) != null) {
String[] array = spl.split(",");
list1.add(array);
for(int i=0; i<array.length; i++){
//System.out.println(array[i]);
}
}
String[][] array = (String[][]) list1.toArray(new String[list1.size()][]);
わかりにくいと思うのですが、かなり苦戦しています。
どなたかご教授ください。
よろしくお願いいたします。