Writing a string array to file using Java - separate lines

前端 未结 5 638
不知归路
不知归路 2020-12-12 07:06

I\'m writing a program that writes sets of observations in the form of a String array (from User input) to file. I am able to write an observation to a .txt file and then ad

相关标签:
5条回答
  • 2020-12-12 07:19

    Sorry I can't comment Brian Agnew's answer because of my reputation, so I write it here.

    Seems you never have any spaces in your array items, so you can successfully use them as a separators in your .txt file. When reading, just read the file line by line and separate items by split(" ") method.

    0 讨论(0)
  • 2020-12-12 07:27
     bw.write(s);
    bw.newLine();
    bw.flush();
    
    0 讨论(0)
  • 2020-12-12 07:28
    bw.write(s);
    bw.write(System.getProperty("line.separator"));
    bw.flush();
    
    0 讨论(0)
  • 2020-12-12 07:32

    You need to push a line separator into the buffer.

    newLine();
    

    Here's the code

    for(int i = 0; i < observation.length; i++) {
      try (BufferedWriter bw 
            = new BufferedWriter(new FileWriter("birdobservations.txt", true))) {
        String s;
        s = observation[i];
        bw.write(s);
        bw.newLine();
        bw.flush();
      } catch(IOException ex) { 
        ex.printStackTrace();
      }
    } 
    
    0 讨论(0)
  • 2020-12-12 07:39

    Why not iterate within your try{} block and use BufferedWriter.newLine() after each write ?

    If you need to be able to read the values back in later, you need to consider some unambiguous output format. Perhaps the simplest solution is a CSV format (I note your output data has spaces - you would need to separate your entries using something other than spaces in that case)

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