Java PrintWriter not working

前端 未结 1 685
孤城傲影
孤城傲影 2020-11-30 15:44

I am simply trying to write my 2d array \"puzzle\" to a file. I have a double for loop which reads through each of the \'char\' values in my array and supposedly writes them

相关标签:
1条回答
  • 2020-11-30 16:18

    Close your PrintWriter in a finally block to flush it and to reclaim resources

    public void writeToFile(String fileName) {
    
      // **** Note that pW must be declared before the try block
      PrintWriter pW = null;
      try {
         pW = new PrintWriter(new File(fileName));
         for (int x = 0; x < 25; x++) {
            for (int y = 0; y < 25; y++) {
               pW.write(puzzle[x][y]);
            }
            pW.println();
         }
      } catch (IOException e) {
         // System.err.println("error is: "+e.getMessage());
         e.printStackTrace();  // *** this is more informative ***
      } finally {
         if (pW != null) {
            pW.close(); // **** closing it flushes it and reclaims resources ****
         }
      }
    }
    

    Caveat: Code not tested nor compiled.

    Note that another option is to use try with resources.

    0 讨论(0)
提交回复
热议问题