私は最初のアンドロイドアプリを書いているので、ファイルから配列にデータを取得する最善の方法について混乱している初心者です。私は、リソースraw txtファイルからデータを取得し、配列またはArrayList
に格納しようとしているので、Excelのスタイルのvlookupを実行できます。データファイル(data_file.txt
)は、サイズ及びコラム一つに28,2あるINTおよび列2は、このような空間によって分離フロート有した:ファイルを異なるデータ型の多次元配列に読み込みますか?
- 500 -1.3
- 1000年-1.6
- 10000 -1.7
私は1000の値を調べて-1.6を取得したいと考えています。 まず、多次元オブジェクト配列またはArrayList
を使用する必要がありますが、どちらを使用するかは重要ですか?私はデータ型floatの2番目の列を保持する必要があり、可能であれば最初の列のデータ型をint型に保ちたいと考えています。
私はコードに関するヒントや、研究する必要のある方法を探しています。
乾杯、
エアフィックス
更新4月3
私はマップは、私が欲しいものではありません確信しています。私は以下のコードで作業してきました。 Scanner scan = new Scanner(new FileReader(file));
を除いて動作すると思われますが、 "変数FileReader(int)
をコンストラクタで解決できません。実際には例のように単純なtxtファイルであることは明らかです。完了するために助けてくれてありがとう:)
public void fuelIndex(){
Object file = (getResources().getIdentifier("fuel_index",
"raw", getPackageName()));
Scanner scan = new Scanner(new FileReader(file));
Object[][] fuelIndexData = new String[28][2];
int i = 0;
while(scan.hasNextLine()){
fuelIndexData[i] = scan.nextLine().split("\\s+");
i++;
}
//loops through the file and splits on any space
for (int row = 0; row < fuelIndexData.length; row++) {
for (int col = 0; col < fuelIndexData[0].length; col++) {
if(fuelIndexData[row][col] != null){
System.out.print(fuelIndexData[row][col] + " ");
}
}
if(fuelIndexData[row][0] != null){
System.out.print("\n");
}
}
}
あなただけ多分あなたはHashMapを使用することができ、キーと値を持っている場合。 – noumenal