Tenho uma directoria com a seguinte estrutura : C:\FicheirosRecebidos\ e destro desta pasta tenho varios ficheiros no formato .TXT
Gostaria de criar um metodo que me faça um System.out.print(); todos os ficheiros .TXT que estao contidos na pasta ou seja me listasse todos os ficheiros que estao dentro desta directoria. Mas gostaria que ele me listasse o nome destes ficheiros.
import java.io.*;
import java.util.*;
class ListagemRecursiva {
public void listar (File dir, List<File> arquivos) {
if (dir.isDirectory()) {
File[] sub = dir.listFiles();
for (File f : sub) {
if (f.isDirectory()) {
listar (f, arquivos);
} else {
arquivos.add (f);
}
}
}
}
public static void main (String[] args) {
ListagemRecursiva lr = new ListagemRecursiva();
List<File> arquivos = new ArrayList<File>();
lr.listar (new File (args[0]), arquivos);
// Imprimindo todos, sem exceção
for (File f : arquivos) {
System.out.println (f);
}
// Imprimindo apenas os arquivos .txt
for (File f : arquivos) {
if (f.isFile() && f.getName().toLowerCase().endsWith (".txt")) {
System.out.println (f);
}
}
}
}
public void listar (File dir, List<File> arquivos) {
if (dir.isDirectory()) {
File[] sub = dir.listFiles();
for (File f : sub) {
if (f.isDirectory()) {
listar (f, arquivos);
} else {
arquivos.add (f);
}
}
}
}
public static void main (String[] args) {
ListagemRecursiva lr = new ListagemRecursiva();
List<File> arquivos = new ArrayList<File>();
lr.listar (new File (args[0]), arquivos);
// Imprimindo todos, sem exceção
for (File f : arquivos) {
System.out.println (f);
}
// Imprimindo apenas os arquivos .txt
for (File f : arquivos) {
if (f.isFile() && f.getName().toLowerCase().endsWith (".txt")) {
System.out.println (f);
}
}
}
}
[/code][/quote]
Thingol ruleia :!:
ps: Com a devida permissão, estou copiando este código