title: Getting Null Pointer Exception when using isEmpty() method
body: <p>I'm trying to implement a login feature for my program but it's returning a null pointer exception.  I understand that this happens when you refer to a place in memory that has nothing in it, but as far as I can see I have instantiated all my objects properly - please correct me if I am wrong!</p>
  
  <p>I am trying to implement an add user feature:  I have a list of usernames and passwords and I have an existing method which reads that file in and stores it in an array.  I want to write a new login to the list so I wrote a new method which converts this array to an ArrayList and will eventually write a new login to it and then write the Login file out again.  The problem is I am getting the Null Pointer Exception.</p>
  
  <p>Method 1:</p>
  
  <pre><code>public String[] readFile(){
      ArrayList&lt;String&gt; dataList = new ArrayList&lt;String&gt;();
      String Line;
      try {
          String line = br.readLine();
          do {                
              dataList.add(Line);
              line = br.readLine();
          }
          while (!line.isEmpty());
          br.close ();
      }
      catch (Exception e) {
          e.printStackTrace();
      }
      String[] dataArr = new String[dataList.size()];
      dataArr = dataList.toArray(dataArr);
  
      return dataArr; // Returns an array containing the separate lines of the file
  }
  </code></pre>
  
  <p>Method 2:</p>
  
  <pre><code>public void addNewUser (String username, String password){
      String[] dataArr = readFile();  // Read in the list of profiles and store it in an array
      ArrayList&lt;String&gt; dataAL = new ArrayList&lt;String&gt;(Arrays.asList(dataArr));   // store array of profiles as ArrayList
      dataAL.add(username + "\t" + password);
  
  }
  </code></pre>