ユーザーの外部ストレージに存在するモデル ファイルをロードしたいと考えています。モデル ファイルのサイズは最大 20MB 程度です。「\n」で区切られた x、y、z 情報が含まれています。私の方法で小さなファイルを読み込もうとすると、正常に動作します。ただし、大きなファイルの場合、アプリケーションは強制終了を要求します。
File dir = Environment.getExternalStorageDirectory();
File file = new File(dir,"model_Cube.txt");
BufferedReader reader = null;
List<Float> list = new ArrayList<Float>();
try {
reader = new BufferedReader(new FileReader(file));
String text = null;
while ((text = reader.readLine()) != null) {
list.add(Float.parseFloat(text));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
triangleCoords = new float[list.size()];
for (int i = 0; i < list.size(); i++) {
Float f = list.get(i);
triangleCoords[i] = (float) (f.floatValue()/10.0); // Or whatever default you want.
}