For example I have a file "input.txt" :
This is the
first data
This is the second
data
This is the last data
on the last line
And I want to store this data in a ArrayList in this form:
[This is the first data, This is the second data, This is the last data on the last line]
Note: Every data in file is separated by a blank line. How to skip this blank line? I try this code but it don't work right:
    List<String> list = new ArrayList<>();
    File file = new File("input.txt");
    StringBuilder stringBuilder = new StringBuilder();
    try (Scanner in = new Scanner(file)) {
        while (in.hasNext()) {
            String line = in.nextLine();
            if (!line.trim().isEmpty())
                stringBuilder.append(line).append(" ");
            else {
                list.add(stringBuilder.toString());
                stringBuilder = new StringBuilder();
            }
        }
    } catch (FileNotFoundException e) {
        System.out.println("Not found file: " + file);
    }
				
                        
You are actually almost there. What you missed is that the last 2 lines need to be handled differently, as there is NO empty-string line at the bottom of the file.
Output of above: