What it currently does is reads in the data from a text file and will output them in the specified manner. When I output it to the console then it will display it into the way that is needed but when I try to output it to a text file then it will only write the last line of the loop for some reason. This is the code I have to handle the output for the file:
public static void main(String[] args) throws FileNotFoundException {
    String gt;
    String gt2;
    int gs1;
    int gs2;
    int total = 0;
    Scanner s = new Scanner(new BufferedReader(
            new FileReader("input.txt"))).useDelimiter("\\s*:\\s*|\\s*\\n\\s*");
    while (s.hasNext()) {
        String line = s.nextLine();
        String[] words = line.split("\\s*:\\s*");
        //splits the file at colons
        if(verifyFormat(words)) {
            gt = words[0];       // read the home team
            gt2 = words[1];       // read the away team
            gs1 = Integer.parseInt(words[2]);       //read the home team score
            total = total + gs1;
            gs2 = Integer.parseInt(words[3]);       //read the away team score
            total = total + gs2;
            validresults = validresults + 1;
            File file = new File("out.txt");
            FileOutputStream fos = new FileOutputStream(file);
            PrintStream ps = new PrintStream(fos);
            System.setOut(ps);
            System.out.println(gt + " " +  "[" + gs1 + "]" +  " | " + gt2 + " " + "[" + gs2 + "]");   
            //output the data from the file in the format requested
        }
        else{
            invalidresults = invalidresults + 1;
        }
    }
 
     
    