Привет, Помогите пожалуйста разобратся почему не записываются строки в файл в методе строки 24-30 ниже, вроде бы делаю все правильно, после каждого использования файла потоком, высвобождаю ресурс, но почему то на выходе файл пуст...
public static void updateList(String[] args, String file) {
    ArrayList<String> tempbuffer = new ArrayList<>();
    String updatedRecord = updateLine(args);
    try {
        BufferedReader br = new BufferedReader(new FileReader(file));
        while (br.ready()) {
            tempbuffer.add(br.readLine());
        }
        br.close();
    } catch (Exception e) {
    }
    for (String s : tempbuffer) {
        Integer oldIndex = Integer.parseInt(s.substring(0, 8).trim());
        Integer newIndex = Integer.parseInt(args[1].trim());
        if (oldIndex.equals(newIndex)) {
            tempbuffer.set(tempbuffer.indexOf(s), updatedRecord);
        }
    }
    try {
        FileWriter cleaner = new FileWriter(file);
        cleaner.write("");
        cleaner.close();

        BufferedWriter bw = new BufferedWriter(new FileWriter(file, true));
        PrintWriter pw = new PrintWriter(bw);
        for (String s : tempbuffer) {
            System.out.println(s);
            pw.println(s);
            //bw.write(s);
        }
    } catch (Exception e) {
    }
}
Полное решение если нужно:
package com.javarush.task.task18.task1828;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

/*
Прайсы 2
*/

public class Solution {
    public static void main(String[] args) {
        BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));
        try {
            String file = consoleReader.readLine();
            //BufferedReader br = new BufferedReader(new FileReader(file));
            //BufferedWriter bw = new BufferedWriter(new FileWriter(file, true));
            if (!(args.length == 0)) {
                if (args[0].equals("-u")) {
                    updateList(args, file);
                }
                /*if(args[0].equals("-d")){
                    deleteRecord(args, br, bw);
                }*/
            }
        } catch (Exception e) {

        }
    }

    //print args array and check what it contains
    //C:\Users\vla9d\Desktop\Test\t1.txt

    public static void updateList(String[] args, String file) {
        ArrayList<String> tempbuffer = new ArrayList<>();
        String updatedRecord = updateLine(args);
        try {
            BufferedReader br = new BufferedReader(new FileReader(file));
            while (br.ready()) {
                tempbuffer.add(br.readLine());
            }
            br.close();
        } catch (Exception e) {
        }
        for (String s : tempbuffer) {
            Integer oldIndex = Integer.parseInt(s.substring(0, 8).trim());
            Integer newIndex = Integer.parseInt(args[1].trim());
            if (oldIndex.equals(newIndex)) {
                tempbuffer.set(tempbuffer.indexOf(s), updatedRecord);
            }
        }
        try {
            FileWriter cleaner = new FileWriter(file);
            cleaner.write("");
            cleaner.close();

            BufferedWriter bw = new BufferedWriter(new FileWriter(file, true));
            PrintWriter pw = new PrintWriter(bw);
            for (String s : tempbuffer) {
                System.out.println(s);
                pw.println(s);
                //bw.write(s);
            }
        } catch (Exception e) {
        }
    }

/*    public static void deleteRecord(String[] args, BufferedReader br, BufferedWriter bw){
        ArrayList<String> tempbuffer = new ArrayList<>();
        try{
            while (br.ready()){
                tempbuffer.add(br.readLine());
            }
        }catch (Exception e){ }
        tempbuffer.removeIf(s -> s.startsWith(args[1].substring(0, 8)));
        try{
            bw.write("");
            PrintWriter pw = new PrintWriter(bw);
            for(String s: tempbuffer){
                pw.println(s);
            }
        }catch (Exception e){ }
    }*/

    public static String updateLine(String[] args) {
        StringBuilder sb = new StringBuilder();
        String id = updateRecord(args[1], 8);
        String productName = updateRecord(args[2], 30);
        String price = updateRecord(args[3], 8);
        String quantity = updateRecord(args[4], 4);
        sb.append(id);
        sb.append(productName);
        sb.append(price);
        sb.append(quantity);
        return sb.toString();
    }

    public static String updateRecord(String line, int length) {
        StringBuilder sb = new StringBuilder();
        String result;
        if (line.length() > length) {
            result = line.substring(0, length); //line.substring(0, length + 1);
        } else {
            sb.append(line);
            while (sb.length() < length) {
                sb.append(" ");
            }
            result = sb.toString();
        }
        return result;
    }
}