title: Add a File object to an array of File objects
body: <p>First, let me show you the code I have so far:</p>
  
  <pre><code>public void populateArray(){
  
      //NOTE: THIS METHOD SHOULD BE RUN FIRST. Many of the methods in this class rely on a populated file array to function.
  
      // This method will populate our file array.
      // First, we note the directory we want to pull files from.
      File folder = new File("HR");
      File dir = new File("");
      File file = new File("");
  
      //Then we fill an array with the list of documents in that directory
      //This will also include folders.
      int count = 0;
      allDocs = folder.listFiles();
      int fileCount = 0;
      int dirCount = 0;
      System.out.println("Displaying contents of directory...");
      while (count &lt; allDocs.length){
          System.out.println("Found: " + allDocs[count]);
          count++;
      }
      System.out.println("Sorting directories and files separately...");
      count = 0;
      while (count &lt; allDocs.length){
          if (allDocs[count].isDirectory()){
              dir = new File(allDocs[count].getPath());
              dirs[dirCount] = dir;
              System.out.println("Document " + allDocs[count].getPath() + " sorted into -Directory- array at position " + dirCount);
              dirCount++;
          }
          else{
              file = new File(allDocs[count].getPath());
              files[fileCount] = file;
              System.out.println("Document " + allDocs[count].getPath() + " sorted into -File- array at position " + fileCount);
              fileCount++;
          }
          count++;
      }
      return;
  }
  </code></pre>
  
  <p>files, dirs, and allDocs are arrays declared within the class outside of any methods.</p>
  
  <p>allDocs is the array I use to get every directory and file in the directory of interest, HR. I do this with allDocs = folder.listFiles();</p>
  
  <p>I want files to be the array to store all of the files in the directory HR, and I want dirs to be the array to store all of the directories in HR, but I don't want to store any of the contents of the directors in HR.</p>
  
  <p>I try to do this with the loop under the println "Sorting directories and files separately."</p>
  
  <p>The problem is here:</p>
  
  <pre><code>else{
              file = new File(allDocs[count].getPath());
              files[fileCount] = file;
              System.out.println("Document " + allDocs[count].getPath() + " sorted into -File- array at position " + fileCount);
              fileCount++;
          }
  </code></pre>
  
  <p>It's here because the first element in allDocs is a file. The problem also occurs when the first element is a directory. The problem is a null pointer exception on the files[fileCount] = file; line, which I don't understand. "file" is not null, I just assigned it a value. Of course files[fileCount] is null in this case, but why does that matter if I'm assigning it a value?</p>
  
  <p>Files declaration:</p>
  
  <pre><code>public class Methods
  {
  
      private static File[] files;
  </code></pre>