4列と150のデータを含むcsvファイルを読み込みます。まず、各行を文字列配列に読み込んで整数配列に変換します。私はそれをarraylistに変換しました。ループ中にarraylistを表示しようとすると、最後の配列エントリのみが表示されます。 whileループを完了したら、すべての値をarraylistに入れて別の関数に渡します。この目標を達成するにはどうすればよいですか?ArrayListはネストループの外側の最後の要素のみを返します
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.*;
public class ReadInputCSV {
public static void main(String[] args) throws Exception {
List<Integer> intList = new ArrayList<Integer>();
BufferedReader CSVFile = new BufferedReader(new FileReader("C:/Users/sana/Desktop/DATASET/shuttle.csv"));
String dataRow = CSVFile.readLine();
while (dataRow != null){
String[] dataArray = dataRow.split(",");
int[] intsArray=new int[dataArray.length];
for(int i=0;i<dataArray.length;i++)
{
intsArray[i]=Integer.parseInt(dataArray[i]);
}
intList = new ArrayList<Integer>(intsArray.length);
for (int i=0; i<intsArray.length; i++)
{
intList.add(intsArray[i]);
}
dataRow = CSVFile.readLine();
}
CSVFile.close();
}
}
リストを印刷したり、別の方法に渡そうとしていますか?私はいずれかの試みを見ない。 – shmosel
配列リストは、1行のデータを格納するだけです。メソッドにすべてのデータを渡す方法をどのように計画していますか?また、ファイルをループすることもありません。 –