public void writeResults(ArrayList<Airplane> finishedAirplanes, int caseNumber) { String currentLine; boolean validity = true; // If one plane did not land successfully, then the scenario is marked as impossible. for (Airplane airplane : finishedAirplanes) { if (airplane.isResult() != true) { validity = false; } } try { BufferedReader reader = new BufferedReader( new FileReader(this.outputPath)); // Create new reader for our output path BufferedWriter writer = new BufferedWriter( new FileWriter(this.outputPath)); // Create new writer for our output path currentLine = reader.readLine(); while (currentLine != null) // Iterate through the file and check existing contents { currentLine = reader.readLine(); if (currentLine == null) // Ignore spacing between cases { currentLine = reader.readLine(); } } writer.write("CASE " + caseNumber + ": "); if (validity == false) { writer.write("IMPOSSIBLE"); writer.newLine(); } else { writer.write("POSSIBLE"); for (Airplane airplane : finishedAirplanes) { writer.write( airplane.getId() + " LANDED AT " + airplane.getRunwayCompletionTime() + " WITH " + airplane.getFuel() + " REMAINING."); } writer.newLine(); } } catch (IOException e) { e.printStackTrace(); } }