次の形式のファイルがあります。
2.3 2.5
1.4 4.5
....
NaN NaN
2.2 1.4
4.6 5.6
....
(両方とも "NaN" と等しい場合がある double の 2 列)
基本的に、両方の列を次のように分割します。
ArrayList<Double> x;
ArrayList<Double> y;
列の両方の数値が「NaN」と等しくありませんが、それらを配列 x と y に追加したいと考えています。BufferedReader が行を読み取るとき:
NaN NaN
ArrayList x と y を allX と allY に追加したい。
ArrayList<ArrayList<Double>> allX;
ArrayList<ArrayList<Double>> allY;
次に、新しい ArrayList x と y を開始し、別の NaN NaN 行 (上記のプロセスを繰り返す場所) またはファイルの最後に到達するまで、それらにデータを読み込み続けます。
したがって、最終的には、x と y のデータである double の ArrayLists の 2 つの ArrayLists が残ります。
これを行う方法が思いつかないのですが、何かアイデアはありますか?
私の問題を理解するのに役立つ場合:ファイルデータは、世界のすべての国の国境の緯度と経度のデータであり、各国は(lat、lon)=(NaN、NaN)で区切られています。親ArrayListにすべて含まれている各国のArrayListにデータを分離する必要があります。
現在私は持っています:
BufferedReader br = new BufferedReader(new FileReader(new File("file.txt")));
String line;
String[] data;
while((line=br.readLine())!=null){
data=line.split(" "); //A String array with x and y (could be x="NaN" y="NaN")
//How do I then process this?
}