Necesito leer todos los archivos ".txt" de la carpeta (el usuario debe seleccionar esta carpeta).¿Cómo obtener todos los archivos de texto de una carpeta usando Java?
¿Desea aconsejar cómo hacerlo?
Necesito leer todos los archivos ".txt" de la carpeta (el usuario debe seleccionar esta carpeta).¿Cómo obtener todos los archivos de texto de una carpeta usando Java?
¿Desea aconsejar cómo hacerlo?
puede utilizar filenamefilter
clase es bastante simple uso void main (String [] args) throws IOException públicas estáticas {
File f = new File("c:\\mydirectory");
FilenameFilter textFilter = new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".txt");
}
};
File[] files = f.listFiles(textFilter);
for (File file : files) {
if (file.isDirectory()) {
System.out.print("directory:");
} else {
System.out.print(" file:");
}
System.out.println(file.getCanonicalPath());
}
}
acaba de crear una instancia filenamefilter
una anulación aceptar método de cómo desea
+1 por ser el primero en mencionar ['FilenameFilter'] (http://docs.oracle.com/javase/7/docs/api/java/io/FilenameFilter.html). –
Asumiendo que ya tiene el directorio, se puede hacer algo como esto:
File directory= new File("user submits directory");
for (File file : directory.listFiles())
{
if (FileNameUtils.getExtension(file.getName()).equals("txt"))
{
//dom something here.
}
}
El FileNameUtils.getExtension () se puede encontrar here.
Editar: Lo que parece querer hacer es acceder a la estructura de archivos desde el navegador web. Según this anterior publicación SO, lo que desea hacer no es posible debido a razones de seguridad.
El directorio está en el lado del cliente, esto no funcionará. – Manish
esto funciona, cuando el usuario selecciona un archivo, pasa la ruta al constructor Archivo –
Esto solo funcionará si la carpeta seleccionada está en el lado del servidor (que no parece ser el caso aquí). No puede acceder a una carpeta del lado del cliente desde el lado del servidor. – Manish
Escribí la siguiente función que buscará todos los archivos de texto dentro de un directorio.
public static void parseDir(File dirPath)
{
File files[] = null;
if(dirPath.isDirectory())
{
files = dirPath.listFiles();
for(File dirFiles:files)
{
if(dirFiles.isDirectory())
{
parseDir(dirFiles);
}
else
{
if(dirFiles.getName().endsWith(".txt"))
{
//do your processing here....
}
}
}
}
else
{
if(dirPath.getName().endsWith(".txt"))
{
//do your processing here....
}
}
}
ver si esto ayuda.
proporcionan un cuadro de texto para que el usuario ingrese la ruta del directorio.
File userDir=new File("userEnteredDir");
File[] allfiles=useDir.listFiles();
Iterar TodosLosArchivos para filtrar los archivos .txt utilizando getExtension método()
Cómo se relaciona con la tarea Spri ng MVC? –
¿qué has intentado? U puedes hacerlo de la misma manera que hacerlo en Java dentro del programa controlador –
¿La carpeta estará en el lado del cliente? – Manish