Хорошо ... вы знаете, как читать текстовые файлы (в некоторой степени), что хорошо, но вы можете немного упростить код:
ArrayList<String> girlNames = new ArrayList<>();
String filePath = "C:\\Users\\drago\\eclipse-workspace-Ch6to7FinalExam2\\"
+ "MorrisJFinalExam2\\src\\top20namesNM1994.txt";
String line = "";
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
while ((line = br.readLine()) != null) {
// .....................
// ..... Your Code .....
// .....................
}
}
catch (IOException ex) {
ex.printStackTrace();
}
Попробуйте с ресурсами isиспользуется здесь, чтобы ваш BufferedReader автоматически закрывался.Если все, что вы собираетесь сделать, это прочитать нужный текстовый файл, то объект Scanner , который вы закомментировали в своем коде, также является довольно хорошей альтернативой для чтения текстовых файлов при правильном использовании.
Этоиз вашего неполного кода очевидно, что каждая строка данных в этом файле имеет вид Пробел или Tab , разделенный просто на основе Регулярное выражение ("\\s+"
), используемое вметод String # split () (выражение "\\s+"
будет разбивать строку на любое количество пробелов и / или табуляций, содержащихся в этой строке). Обратите внимание , однако, строка кода, в которой вы используете метод String # split () , не завершена должным образом .... Если вы прочитаете связанный учебник, вы обнаружите, что этот методиспользуется для заполнения String Array , что хорошо, потому что обычно , это то, что вы хотите сделать со строками данных файла.Это, конечно, позволяет вам получить точную часть данных, желаемую из каждой строки файла данных.
Никто здесь не имеет понятия, что содержится в вашем конкретном текстовом файле данных, потому что, как и многие другие, содержимое в немочевидно, что так уж точно классифицировали этот ужин, что даже фиктивных данных не хватит.Из-за этого нет никакого способа предоставить вам точное значение индекса массива или значений , чтобы использовать его против String Array для получения желаемогоданные из каждой строки файла данных.Это хорошо, однако, так как это вы должны выяснить это, и как только вы это сделаете, задача будет побеждена для представления.