944,207 Members | Top Members by Rank

Ad:
  • Java Discussion Thread
  • Marked Solved
  • Views: 580
  • Java RSS
Sep 30th, 2009
0

NullPointerException problem T_T

Expand Post »
I'm trying to read a file which contains:
Dante
Beatrice
3
5
and put them into an array. Then I will assign the values of each member of the array to static variables. when i run the main class of my project, it throws a NullPointerException starting from the line in bold T_T i dunno what to do T_T

can anyone please please help me? i badly need this for my project T_T


 public static void loadPositions(){
          try{
             BufferedReader loadPlayerPositions = new BufferedReader(new FileReader("/media/KEI-SAMA/CS11/JOKE CS11/KnowGoMilestone5/playerpositions.txt"));

             String info[] = new String[3];
             
             for (int l = 0; l < info.length; l++){
             info[l] = loadPlayerPositions.readLine();

             info[0] = Players.nameOfPlayer1.toString();
             info[1] = Players.nameOfPlayer2.toString();
             info[2] = Players.loadplayer1currentblock;
             info[3] = Players.loadplayer2currentblock;
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
keicola is offline Offline
12 posts
since Sep 2009
Sep 30th, 2009
0

Re: NullPointerException problem T_T

For reading lined from a file:
          try{
             BufferedReader loadPlayerPositions = new BufferedReader(new FileReader("/media/KEI-SAMA/CS11/JOKE CS11/KnowGoMilestone5/playerpositions.txt"));

String line = loadPlayerPositions.readLine();
while (line!=null) {
  System.out.println("Line read: "+line);

   line = loadPlayerPositions.readLine();
}
} catch (Exception e) {
  System.out.println("Exception: "+e.getMessage());
}

With that way you read each line.
Do some checking in case the file doesn't have all 4 lines that you want.
You get the exception at that line:
info[0] = Players.nameOfPlayer1.toString(); probably because Players.nameOfPlayer1 is null
Last edited by javaAddict; Sep 30th, 2009 at 7:17 am.
Sponsor
Featured Poster
Reputation Points: 1014
Solved Threads: 447
Nearly a Senior Poster
javaAddict is offline Offline
3,260 posts
since Dec 2007
Sep 30th, 2009
0

Re: NullPointerException problem T_T

In addition to your current problem you are bordering on ArrayIndexOutOfBounds Exception with this line of code
java Syntax (Toggle Plain Text)
  1. info[3] = Players.loadplayer2currentblock;
. your array was initialised with a size of 3 and you are quering fo the 4th item in the array.

Either you change your array size to 4 or do not request for the 4th item
Reputation Points: 14
Solved Threads: 12
Junior Poster
ejosiah is offline Offline
119 posts
since Feb 2008
Sep 30th, 2009
0

Re: NullPointerException problem T_T

javaAddict and ejosiah, thanks for your help!! :]
i've initialized the variables,
i've increased the array size to 4,
now it throws the IOException T_T
Last edited by keicola; Sep 30th, 2009 at 10:08 am.
Reputation Points: 10
Solved Threads: 0
Newbie Poster
keicola is offline Offline
12 posts
since Sep 2009
Sep 30th, 2009
0

Re: NullPointerException problem T_T

Put a e.printstacktrace at the catch block, post your new code with the errors that you get
Sponsor
Featured Poster
Reputation Points: 1014
Solved Threads: 447
Nearly a Senior Poster
javaAddict is offline Offline
3,260 posts
since Dec 2007
Oct 1st, 2009
0

Re: NullPointerException problem T_T

I tried putting e.printStackTrace() but it didn't accept it saying that "void" cannot be used. When i checked, printStackTrace() was "void" after all. I tried using getMessage() and I got a message saying "Stream closed" when I tried running the program again.

Java Syntax (Toggle Plain Text)
  1. catch (IOException e){
  2. JOptionPane.showMessageDialog(null, "IOException: " +
  3. e.getMessage());
  4. }
Attached Thumbnails
Click image for larger version

Name:	Screenshot.png
Views:	28
Size:	113.3 KB
ID:	11884  
Reputation Points: 10
Solved Threads: 0
Newbie Poster
keicola is offline Offline
12 posts
since Sep 2009
Oct 1st, 2009
0

Re: NullPointerException problem T_T

Click to Expand / Collapse  Quote originally posted by keicola ...
I tried putting e.printStackTrace() but it didn't accept it saying that "void" cannot be used. When i checked, printStackTrace() was "void" after all. I tried using getMessage() and I got a message saying "Stream closed" when I tried running the program again.

Java Syntax (Toggle Plain Text)
  1. catch (IOException e){
  2. JOptionPane.showMessageDialog(null, "IOException: " +
  3. e.getMessage());
  4. }
Java Syntax (Toggle Plain Text)
  1. catch (IOException e){
  2. System.out.println(e.getMessage()); //returns String
  3.  
  4. JOptionPane.showMessageDialog(null, "IOException: " +
  5. e.getMessage());
  6.  
  7. e.printStackTrace(); // is void
  8. }
Sponsor
Featured Poster
Reputation Points: 1014
Solved Threads: 447
Nearly a Senior Poster
javaAddict is offline Offline
3,260 posts
since Dec 2007
Oct 1st, 2009
0

Re: NullPointerException problem T_T

I added e.printStackTrace just as you have instructed. After running the program, the IOException points to the line in bold. This were the lines that appeared at the bottom tab:

java.io.IOException: Stream closed
at java.io.BufferedReader.ensureOpen(BufferedReader.java:97)
at java.io.BufferedReader.readLine(BufferedReader.java:292)
at java.io.BufferedReader.readLine(BufferedReader.java:362)

at knowgomilestone4.StateOfGame.loadPositions
(StateOfGame.java:67)
at knowgomilestone4.StoryLine.mainMenu(StoryLine.java:64)
at knowgomilestone4.PlayEngine.main(PlayEngine.java:37)

StateOfGame.loadPositions is the method below
Storyline.mainMenu and PlayEngine.main are methods that call on StateOfGame.loadPositions so I think the problem may only be in the StateOfGame.loadPositions method.

       public static void loadPositions(){
          try{
             BufferedReader loadPlayerPositions = new BufferedReader(new 
             FileReader("/media/KEI-SAMA/CS11/JOKE CS11/KnowGoMilestone5
             /playerpositions.txt"));
             
             String info[] = new String[4];
             
             for (int l = 0; l < info.length; l++){
             info[l] = loadPlayerPositions.readLine();

             info[0] = Players.nameOfPlayer1.toString();
             info[1] = Players.nameOfPlayer2.toString();
             info[2] = Players.loadplayer1currentblock;
             info[3] = Players.loadplayer2currentblock;

             Players.loadCurrentPositions();
             Players.currentPositions();

             loadPlayerPositions.close();

             }

          } catch (FileNotFoundException e){
               JOptionPane.showMessageDialog(null, "File Not Found! :O");
          } catch (IOException e){
               JOptionPane.showMessageDialog(null, "IOException: " + e.getMessage());
               e.printStackTrace();
          }
Reputation Points: 10
Solved Threads: 0
Newbie Poster
keicola is offline Offline
12 posts
since Sep 2009
Oct 2nd, 2009
1

Re: NullPointerException problem T_T

for (int l = 0; l < info.length; l++){
             info[l] = loadPlayerPositions.readLine();

             info[0] = Players.nameOfPlayer1.toString();
             info[1] = Players.nameOfPlayer2.toString();
             info[2] = Players.loadplayer1currentblock;
             info[3] = Players.loadplayer2currentblock;

             Players.loadCurrentPositions();
             Players.currentPositions();

             loadPlayerPositions.close();

       }

You are inside the loop, you close the BufferedReader and when the loop runs again you try to read from a closed BufferedReader. When you close the BufferedReader you cannot read from it again. Close it after you are done reading.
Also I believe that you should check if the line read:
info[l] = loadPlayerPositions.readLine(); is not null in case the file has less than 4 line
Sponsor
Featured Poster
Reputation Points: 1014
Solved Threads: 447
Nearly a Senior Poster
javaAddict is offline Offline
3,260 posts
since Dec 2007
Oct 3rd, 2009
0

Re: NullPointerException problem T_T

Gaaah. No wonder xd
thank you thank you so much!! :]
Reputation Points: 10
Solved Threads: 0
Newbie Poster
keicola is offline Offline
12 posts
since Sep 2009

This thread is solved

Either the thread starter or a moderator has marked this thread as solved. You can most likely trust the responses and answers given. There is most likely no reason for any further responses to be posted here. If you have a related question, please start a new thread in this forum instead.

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in Java Forum Timeline: help me...
Next Thread in Java Forum Timeline: Can Anyone helpme in giving me a tutorial of creating gadgets.





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC