Я пытаюсь выполнить очень простую задачу, но я не получаю результаты, которые я хочу. У меня есть текстовый файл с именами, разделенными запятой по кратным линиям, и я хочу сохранить эту информацию в массиве 1D. Когда я запускаю свой код и пытаюсь распечатать массив, чтобы убедиться, что моя информация записана, консоль выводит только последнюю строку текстового файла. Что не так с моим кодом? Я пробовал играть с ним, но я не нашел решения для своей проблемы. Переписывается ли информация?Чтение файла на Java с помощью StringTokenizer
import java.util.*;
public class Tokens {
public static TextFileInput myFile;
public static StringTokenizer myTokens;
public static String name;
public static String[] names;
public static String line;
public static void main(String[] args) {
myFile = new TextFileInput("namesofstudents.txt");
while ((line = myFile.readLine())!= null) {
int i=0;
myTokens = new StringTokenizer(line, ",");
names = new String[myTokens.countTokens()];
while (myTokens.hasMoreTokens()){
names[i] = myTokens.nextToken();
i++;
}
}
for (int j=0;j<names.length;j++){
System.out.println(names[j]);
}
}
}
пример ввода:
Mark, Joe, Bob
James, Jacob, Andy, Carl
выход:
James
Jacob
Andy
Carl
спасибо, наконец, Ой! – user23429