style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

leer archivos de un fichero

hola compañeros tengo un problema espero me puedan ayudar

quisiera leer todos los archivo de una carpeta por ejemplo tengo una carpeta llamada lista
en la cual tengo 5 archivos llamados 1.xml,2.xml,3.xml,4.xml,5.xml tengo que extraer informacion de cada uno de ellos lo que quisiera realizar es que se procese 1.xml y ya cuando aya terminado que siga 2.xml y asi consecutivamente hasta que procese todos los archivos que contenga la carpeta lo unico que logro hacer es en listarlos pero lo logro leer uno por uno.

asi los enlisto

File dir = new File("C:\\Users\\SP_INSTALL\\Desktop\\cfdi-prueba");
        String[] ficheros = dir.list();
        if (ficheros == null) {
            System.out.println("No hay ficheros en el directorio especificado");
        } else {
            for (int x = 0; x < ficheros.length; x++) {
                System.out.println(ficheros[x]);
            }
        }

gracias

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Cid

Utiliza JAXB o XMLBeans

Te recomiendo que utilices JAXB o en su defecto XMLBeans, sería deseable que tengas el XSD de tus XMLs.

En internet hay muchos tutos de JAXB + xjc y aqui te dejo una liga para XMLBeans.

http://www.dreamincode.net/forums/topic/45313-reading-xml-using-xmlbeans/

gracias por la respuesta

gracias por la respuesta amigo tal vez no me di a entender bien lo que quiero realizar es que en una carpeta tengo muchos archivos de los cuales tengo que extraer información de cada uno de ellos entonces yo lo que quisiera realizar es que cuando procese uno y lo termine de inmediato se siga con el siguiente y asi sucesivamente hasta que termine con todos los que haya en dicha carpeta la información de los xml si la se extraer pero solo lo se con uno a la vez nunca lo había intentado de esta forma que te explico y la cantidad de archivos que puede tener la carpeta varia pueden ser desde 20 hasta unos 50 es por eso que necesito realizar este programa
gracias amigo espero me puedas ayudar.

Imagen de SuperSerch

Ya lo tienes

En el código que mostraste estás listando los archivos en el directorio, y uno por uno los estás listando, si en lugar de usar el método list() usas listFiles() te regresará una lista de Files que ya puedes abrir y procesar, al terminar de procesar cada archivo regresa al for y sigue con el siguiente.
o quizás no entendí ...

Gracias compañeros como lo

Gracias compañeros como lo mencina SuperSerch ya lo tenea

Iterar archivos

Lo primero que tienes que hacer es filtrar los archivos que quieres procesar, checa la documentacion de la clase FilenameFilter , lo puedes hacer de la siguiente forma:

        public void procesarCarpeta(File carpeta) {
                File[] files = carpeta.listFiles(getFilefilter(".xml"));
                for (File file : files) {
                                if (!file.isDirectory()) {
                                        // Proceso cada archivo devuelto por la lista
                                }
                        }
        }

        private FilenameFilter getFilefilter(final String string) {
               
                FilenameFilter textFilter = new FilenameFilter() {
                        public boolean accept(File carpeta, String nombreArchivo) {
                               
                                return nombreArchivo.endsWith(string);
                        }
                };

                return textFilter;
        }

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">