Я использую Buffered Reader для передачи отдельных строк файла в Java StringTokenizer
. Файл структурирован следующим образом:Как получить доступ к определенным токенам с помощью StringTokenizer Java?
"2,0";"12345";"foo";"foo.doc"
"2,4";"23456";"foo";"foo.doc";"34567";"foo7";"foo7.doc";"45678";"foo6";"foo6.doc";"56789";"foo5";"foo5.doc";"67890";"foo4";"foo4.doc"
"3,0";"34567";"foo7";"foo7.doc"
"3,0";"45678";"foo6";"foo6.doc"
"3,0";"56789";"foo5";"foo5.doc"
"3,0";"67890";"foo4";"foo4.doc"
Вот код, который я использую - до сих пор.
public class parse {
public static void main(String args[]) {
FileInputStream inputStream = new FileInputStream("whidata0.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
while((scrubbedInput=br.readLine())!=null) {
StringTokenizer strTok = new StringTokenizer(scrubbedInput, ";", false);
int tokens = strTok.countTokens();
while (strTok.hasMoreTokens()) {
tok01 = strTok.nextToken();
}
System.out.println(" scrubbed: " + scrubbedInput);
System.out.println(" tokens: " + tokens);
System.out.println(" tok01: " + tok01);
}
}
}
Мне нужно уметь назначить каждый токен в строке переменной для выполнения дополнительных манипуляций. Однако, если я назначу эту переменную в моем цикле while
, итерация перезапишет мои переменные, и все они вернутся с тем же значением.
Я пытаюсь разделим способ сделать следующее:
String token01 = strTok.tokenNumber(0);
String token02 = strTok.tokenNumber(1);
String token03 = strTok.tokenNumber(2);
String token04 = strTok.tokenNumber(3);
etc.
, но не может найти любые методы, в документации строк Tokenizer, которые позволят это. Я могу, конечно, написать каждую строку массиву String из thisLineOfTokens[]
и использовать цикл for для создания String tokenN = thisLineOfTokens[n]
, но есть ли более прямой способ доступа к определенным токенам?
Я как бы потерял лучший способ ссылки на конкретный токен из моей строки.
НИКОГДА не используйте '' == для объекта Comparation, используйте '.equals()' – SJuan76
правда Дат , правда, что ... но я просто избил псевдокод и поясню это в своем примере. – dwwilson66