Чтение файла построчно в обратном порядке

У меня есть приложение java ee, в котором я использую сервлет для печати файла журнала, созданного с помощью log4j. При чтении файлов журнала вы обычно ищете последнюю строку журнала, и поэтому сервлет был бы гораздо более полезным, если бы он печатал файл журнала в обратном порядке. Мой реальный код:

    response.setContentType("text");
    PrintWriter out = response.getWriter();
    try {
        FileReader logReader = new FileReader("logfile.log");
        try {
            BufferedReader buffer = new BufferedReader(logReader);
            for (String line = buffer.readLine(); line != null; line = buffer.readLine()) {
                out.println(line);
            }
        } finally {
            logReader.close();
        }
    } finally {
        out.close();
    }

Реализации, которые я нашел в Интернете, включают использование StringBuffer и загрузку всего файла перед печатью, не так ли? Есть ли легкий способ поиска до конца файла и чтения содержимого до начала файла?

28
задан eliocs 15 May 2011 в 21:23
поделиться