Ciao, ho provato il tuo metodo e con la seguente modifica mi funziona alla grande:

public static void itera (String path, String filename) {
File tmp = new File(path);

if (tmp.isDirectory()) {
File[] listaTot = tmp.listFiles();
for (int i = 0; i < listaTot.length; i++){

System.out.println(listaTot[i]);
itera(listaTot[i].getAbsolutePath(), filename);
}
}
else {
try {
BufferedWriter oo = new BufferedWriter(new FileWriter(filename,true));
oo.write(tmp.toString());
oo.newLine();
oo.close();
} catch (IOException e) {

e.printStackTrace();
}
}
}


Spero ti sia d'aiuto, ciao ed auguri