После некоторого усилия (я новичок) мне удалось создать метод, который читает текстовый файл и помещает его в многомерный массив. Однако размер массива жестко закодирован, и он не имеет отношения к пустым строкам очень хорошо, поэтому у меня есть следующие вопросы:Как сделать размер массива зависимым от размера текстового файла?
1) Как определить, что мой массив равен размеру текстового файла?
2) Есть ли простой способ обработки пустой строки? В идеале я хотел бы просто удалить любые пробелы из текстового файла, чтобы массив не содержал нулевых значений, но я открыт для предложений по наилучшему способу его обработки.
Вот то, что я до сих пор:
public void TextFileReader(){
String[][] textFileData = new String[5][2];
InputStreamReader InputSR = null;
BufferedReader BufferedRdr = null;
String thisLine = null;
InputSR = new InputStreamReader(getResources().openRawResource(R.raw.text_file));
BufferedRdr = new BufferedReader(InputSR);
try {
// open input stream text_file for reading purpose.
int i = 0;
while ((thisLine = BufferedRdr.readLine()) != null) {
String[] parts = thisLine.split(" ");
textFileData[i][0] = parts[0];
textFileData[i][1] = parts[1];
Log.v("String Array"+i+"0", String.valueOf(textFileData[i][0]));
Log.v("String Array"+i+"1", String.valueOf(textFileData[i][1]));
i = i +1;
}
} catch (Exception e) {
e.printStackTrace();
}
}
Почему бы не использовать что-то вроде динамического [ArrayList] (https://docs.oracle.com/javase/7/docs/api/java/ util/ArrayList.html), где вам не нужно беспокоиться о знании размера заранее? Если вы * имеете *, чтобы использовать массив, я предлагаю подсчитать количество строк, сначала итерации по файлу. – robotlos
Нет Мне не нужно использовать массив, но я не думал, что ArrayList может быть многомерным arraylist? Наверное, я мог бы просто использовать два ArrayLists? – Airfix
вы можете иметь массив массивов ArrayList. – robotlos