String.split () генерирует исключение NullPointerException - PullRequest
2 голосов
/ 06 января 2012

String.split () генерирует исключение NullPointerException.

BufferedReader brs = new BufferedReader(new InputStreamReader(System.in));
String s1;
String s2[];
s1 = brs.readLine();
s2 = s1.split(" ");

Ответы [ 6 ]

14 голосов
/ 06 января 2012

s1 может быть null,

s1 = brs.readLine();
if(s1!=null)
 s2 = s1.split(" ");
2 голосов
/ 06 января 2012

s1 может быть нулевым.Попробуйте это.

if (s1 != null && !s1.trim().equals(""))
    s2 = s1.split(" ");
1 голос
/ 06 января 2012

BufferedReader.readLine () возвращает ноль, если встречается конец потока.См. Javadoc .Вы должны поставить нулевую проверку перед разделением s1.

1 голос
/ 06 января 2012

если эта строка выдает нулевой указатель

s2 = s1.split(" ");

, тогда s1 должен быть нулевым

проверить на ноль перед вызовом EDIT split / EDIT

Примечание: BufferedReader.readline ();Возвращает : строка, содержащая содержимое строки, не включая символы окончания строки, или ноль, если достигнут конец потока

1 голос
/ 06 января 2012

Вы проверили, что идет от brs.readLine().Отсюда и null -значение.Возможно, файл пуст: http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html#readLine%28%29

0 голосов
/ 06 января 2012

Ваш BufferedReader определенно пуст, поэтому readline () возвращает ноль.Возможно, ваш входной поток пуст.

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