Прочтите строку в java, а затем токенизируйте ее

Я ищу самый простой способ прочитать строку на Java. После прочтения я хочу разметить строку. Какие-либо предложения?


person Ali_IT    schedule 04.04.2010    source источник
comment
Откуда читать? Для чего сканировать?   -  person bmargulies    schedule 04.04.2010
comment
вот так: java.sun.com/javase/6 /docs/api/java/util/StringTokenizer.html   -  person jjj    schedule 04.04.2010
comment
Не используйте StringTokenizer; Scanner теперь предпочтительнее.   -  person polygenelubricants    schedule 04.04.2010


Ответы (2)


import java.util.*;

//...

Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
if (sc.hasNextInt()) {
  int i = sc.nextInt();
  //...
}

java.util.Scanner API

  • It can take a File, InputStream, and String as source (among other things)
    • new Scanner(new File("input.txt"))
    • new Scanner("some string you want to tokenize")
  • You can also set custom delimiter
    • sc.useDelimiter(";")
  • Supports regex too
    • sc.next("[a-z]+")

В другом месте в stackoverflow:

person polygenelubricants    schedule 04.04.2010
comment
Сканер лучше, чем BufferedReader? - person TBH; 04.04.2010
comment
Вы можете объединить BufferedReader с Scanner, если вы настаиваете на чтении строки , а затем ее токенизации, но Scanner позволяет вам токенизировать строку по мере ее чтения, поэтому в некоторых случаях это упрощает работу. - person polygenelubricants; 04.04.2010

FileUtils.readLines(..) из commons-io

Тогда используйте String.split(regex), а не токенизатор.

person Bozho    schedule 04.04.2010
comment
Минус в том, что вам нужна сторонняя библиотека. - person Jesper; 04.04.2010