Здравствуйте! Возникла следующая проблема: BufferedReader br = new BufferedReader(new FileReader(fileName)); не хочет читать данные из файла.
public class Solution {
    public static void main(String[] args) throws FileNotFoundException, IOException{
        //BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
        String fileName = "C:/sc1.txt";
        String[] arg = {"-u", "198478", "Test", "1450", "125"};
        if(arg.length > 0 && arg[0].equals("-u")){
            BufferedReader br = new BufferedReader(new FileReader(fileName));
            BufferedWriter bw = new BufferedWriter(new FileWriter(fileName));
            ArrayList<String> list = new ArrayList();
            String id = arg[1];
            String productName = arg[2];
            String price = arg[3];
            String quantity = arg[4];
            while(br.ready()){  // <-- доходит до цикла и перескакивает его, т.е. файл пуст, но по факту он содержит иформацию
                String s = br.readLine();
                if(s.contains(id)){
                    list.add(correctLength(id, 8) + correctLength(productName, 30) +
                            correctLength(price, 8) + correctLength(quantity, 4));
                }
                else list.add(s);
            }
            for(String st: list)
                bw.write(st);
        }
    }
    public static String correctLength(String s, int n){
        while(s.length() < n)
            s += " ";

        return s;
    }
}
Содержание файла sc1.txt: 19846 Шорты пляжные синие 159.00 12 198478 Шорты пляжные черные с рисунко173.00 17 19847983Куртка для сноубордистов, разм10173.991234 Я так же пробовал через FileInputStream. Та же проблема ( fis.available() = 0) В качестве проверки new BufferedReader(new FileReader(fileName)) написал маленькую программку:
public class Solution {
    public static void main(String[] args) throws FileNotFoundException, IOException{
        String fileName1 = "C:/sc1.txt";
        String fileName2 = "C:/sc2.txt";
        BufferedReader br = new BufferedReader(new FileReader(fileName1));
        BufferedWriter bw = new BufferedWriter(new FileWriter(fileName2));
        while(br.ready()){
            String s = br.readLine();
            System.out.println(s);
            bw.write(s);
        }
    }
}
В этом случае файл читается и выводится в консоль, НО не записывается во второй файл. Объясните мне, пожалуйста, почему так происходит, ведь до этого (в других задачах) все работало. Искал в интернете ответ на этот вопрос, но по логике тех примеров, что я находил, все должно работать. Заранее благодарю!