Сортировка внутри файла - PullRequest
0 голосов
/ 07 марта 2012

У меня есть текстовый файл со строками, содержащими целые числа.Я хочу скопировать его в какой-нибудь контейнер (я пытался использовать ArrayList), отсортировать его и записать в другой файл.

Вот что я сделал (этот код является частью моего сервлета):

String path = session.getServletContext().getRealPath("/")
                    + "numbers.txt";
            String path2 = session.getServletContext().getRealPath("/")
                    + "numbers2.txt";

            ArrayList<Integer> arr = new ArrayList<Integer>();
            FileReader filereader = new FileReader(path);
            BufferedReader br = new BufferedReader(filereader);
            String eachLine = br.readLine();
            while (eachLine != null) {
            arr.add(Integer.parseInt(eachLine));
            eachLine = br.readLine();
            }
            filereader.close();  

            FileWriter writer = new FileWriter(path2, true);
            for (int i = 0; i < arr.size(); ++i)
                writer.write(arr.get(i) + "-");
            writer.flush();
            writer.close();

Однако это никогда не работает: проблема в том, что новый файл всегда пуст, в нем ничего не написано, вот в чем проблема.

1 Ответ

3 голосов
/ 07 марта 2012

Нет попытки отсортировать ArrayList, и порядок ArrayList будет порядком, в котором были добавлены элементы.

Для сортировки ArrayList используйте java.util.Collections.sort():

Collections.sort(arr); // Ascending order.

Существует другая версия Collections.sort(), которая принимает Comparator для определения порядка, если возрастающий порядок не подходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...