title: Reading and Writing a PGM file
body: <p>As a homework assignment we are supposed to read in a .pgm file and then draw a square in by changing the pixel values, and then output the new image. 
  After I go through and change the pixels I print them all to a .txt as a way to check that they actually got added. The part I'm having trouble with is writing the new file. I know it's supposed to be binary so after googling I think I should be using DataOutputStream, but I could be wrong. After I write the file its size is 1.9MB where as the original is only 480KB, so right off the bat I suspect something must be wrong. Any advice or tips for writing to .pgm files would be great! </p>
  
  <pre><code>public static void writeImage(String fileName) throws IOException{
      DataOutputStream writeFile = new DataOutputStream(new FileOutputStream(fileName)); 
       // Write the .pgm header (P5, 800 600, 250) 
      writeFile.writeUTF(type + "\n");
      writeFile.writeUTF(width + "  " + height + "\n");
      writeFile.writeUTF(max + "\n");
  
      for(int i = 0; i &lt; height; i++){
          for(int j = 0; j &lt; width; j++){
              writeFile.writeByte(img[i][j]); //Write the number
              writeFile.writeUTF(" "); //Add white space
          }
          writeFile.writeUTF(" \n"); //finished one line so drop to next
      }
      writeFile.close();
  
  }
  </code></pre>
  
  <p>When I try to open the new file i get an error message saying "illegal image format", and the original file opens properly. </p>