Чистый способ импорта данных из текстового файла? - PullRequest
1 голос
/ 19 января 2010

У меня есть текстовый файл со следующим:

name1: 0 | 0 | 0 | 0 | 0 |
name2: 0 | 0 | 0 | 0 | 0 |
... и т. Д.

Я импортирую имена в массив строк.

Это нормально, однако я не могу придумать чистого способа связатьчисла с элементом массива.Числа разделены "трубой" '|'символ

В идеале я хотел бы вызвать метод, который возвращает массив целых чисел, когда ему дано имя, например что-то вроде public int[] getScores(String name)

Ответы [ 2 ]

6 голосов
/ 19 января 2010

Сканер также может это сделать (начиная с Java 1.5). Преимущество перед String # split заключается в том, что вы получаете автоматическое преобразование типов с помощью регулярных выражений.

Пример из javadoc

String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
System.out.println(s.nextInt());
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.next());
s.close(); 

Кроме того, если ваша цель - восстановить числа по их имени, используйте какую-нибудь хеш-таблицу, чтобы сохранить их для более быстрого поиска.

3 голосов
/ 19 января 2010

Использовать разделение строк

Сначала используйте :, чтобы разделить строку, затем используйте |, чтобы разделить каждое число как строку. Наконец, используйте Integer.Parse, чтобы получить числа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...