Не удается заставить BufferedWriter записать все данные из файла

У меня есть эта функция, которая перебирает каталог и должна читать каждый файл и записывать его в сгенерированный файл HTML. BufferedReader должен читать правильно, потому что я использую то же самое в другом месте. Однако в сгенерированном файле HTML я получаю только каждую вторую строку данных из исходных файлов в каталоге. Вот метод, который должен выполнить это:

// Tests to see if "File" is actually a directory or file,
// then writes out the file if it passes the test
void writeFiles(File directory, BufferedWriter bw) {
    try{
        for( File file : directory.listFiles() ){
            if(!file.isDirectory()) {//is a file lets read it
                FileInputStream filestream = new FileInputStream(file);
                DataInputStream in = new DataInputStream(filestream);
                BufferedReader br = new BufferedReader(new InputStreamReader(in));
                String buff = new String();
                bw.write("<b>////////////////////////////////</b><br/>");
                bw.write("<b>File: " + file.getName() + "</b><br/>");
                bw.write("<b>////////////////////////////////</b><br/>");
                while((buff=br.readLine()) != null){
                    bw.write(br.readLine() + "<br/>");
                }
                bw.write("`<br/>`");
                bw.write("`<br/>`");

           }else {//will make it a recursive search
               writeFiles(file, bw);
           }
        }
    }catch(FileNotFoundException fnf){
        fnf.printStackTrace();
    }
    catch(IOException io){
        io.printStackTrace();
    }
}

Прошу прощения за неправильное форматирование кода в вопросе. Из-за HTML предварительно отформатированный текст не позволит моему коду отображаться правильно. Тем не менее, я определенно думаю, что у меня есть проблема с файловым вводом-выводом в моем коде. Кто-нибудь знает, это BufferedReader или BufferedWriter? Спасибо.

0
задан MRAB 11 July 2012 в 19:21
поделиться