Java Scanner class reads one line and then stops -
i have problem method using scanner class. reading text file scanner , parse int array.
public static void readitems() { try { file file = new file(system.getproperty("user.home") + "./ssgame/item.dat"); scanner scanner = new scanner(file); int line = 0; while (scanner.hasnextline()) { string text = scanner.nextline(); text = text.replaceall("\\w", ""); system.out.println(text.trim()); playerinstance.playeritems[line] = integer.parseint(text); line++; } scanner.close(); } catch (filenotfoundexception e) { e.printstacktrace(); } catch (numberformatexception e2) { e2.printstacktrace(); } } heres item.txt file:
1 1 2 3 4 i run code , following output:
1 i have tried using scanner.hasnextint() , scaner.nextint(); won't print @ all.
if remove parseint part file finish reading , numbers printed. ideas?
this exception thrown:
java.lang.numberformatexception: input string: "" @ java.lang.numberformatexception.forinputstring(unknown source) @ java.lang.integer.parseint(unknown source) @ java.lang.integer.parseint(unknown source) @ game.player.readplayer.readitems(readplayer.java:56) @ game.player.readplayer.read(readplayer.java:11) @ game.frame.<init>(frame.java:32) @ game.frame.main(frame.java:54)
i'm guessing integer.parseint() throwing numberformatexception because line still contains \n.
if call integer.parseint(text.trim()) instead, may fix it.
if did exception handling properly, have better idea.
Comments
Post a Comment