Pessoal, eu gostaria de um tipo de passo a passo do que eu tenho que fazer. Não me acostumei ao caminho das pedras então eu preciso que alguem me diga por onde ir.
Resultado final é: Um programa em java, que eu consiga colocar um diretorio e que em uma tela mostre todos os arquivos XML. Estes XML’s terão de ser cadastrados em um banco de dados.
Consegui criar um arquivo que lista TODOS os arquivos de um diretorio… porém… quero só XML. Como consigo essa façanha? hehe
importjava.io.File;importjava.util.Date;importjava.util.Scanner;publicclassListaArquivos{publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);System.out.println("Insira o diretorio");Stringdir=scan.next();Filediretorio=newFile(dir);FilefList[]=diretorio.listFiles();System.out.println("Numero de arquivos no diretorio : "+fList.length);for(inti=0;i<fList.length;i++){System.out.println(fList[i].getName()+" Data de Ultima Modificação: "+newDate(fList[i].lastModified()));}}}
luiz_renato
denisspitfire,
Deixa eu entender:
Vc tem que escolher/fornecer um diretório e listar os arquivos xml que estão nesse diretório? E vc tem que verificar se eles estão cadastrados no banco? É isso?
denisspitfire
nao, depois é cadastrado no banco mas por hora preciso listar todos os XML. Procurei os metodos mas por nome… tem um aqui que me pareceu resolver o problema mas nao sei usar (hehe). “Separator”
denisspitfire
FILE FILTER!!
importjava.io.File;importjava.io.FileFilter;importjava.util.Date;importjava.util.Scanner;publicclassListaArquivos{publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);System.out.println("Insira o diretorio");Stringdir=scan.next();FileFilterff=newFileFilter(){publicbooleanaccept(Fileb){returnb.getName().endsWith(".xml");}};Filediretorio=newFile(dir);FilefList[]=diretorio.listFiles(ff);System.out.println("Numero de arquivos no diretorio : "+fList.length);for(inti=0;i<fList.length;i++){System.out.println(fList[i].getName()+" Data de Ultima Modificação: "+newDate(fList[i].lastModified()));}}}
denisspitfire
agora é o seguinte, preciso abrir, acho que um fileopen… porem preciso guardar no banco o que tiver estruturado no xml…
meu problema nao é fazer os metodos é juntar essa bagaça toda
denisspitfire
tipo… ficou em uma string só, e como eu poderia separar? split nao da… (eu acho) dai preciso jogar pra um objeto depois para um banco de dados
importjava.io.BufferedReader;importjava.io.DataInputStream;importjava.io.File;importjava.io.FileFilter;importjava.io.FileInputStream;importjava.io.InputStreamReader;importjava.util.Scanner;publicclassListaArquivos{publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);System.out.println("Insira o diretorio");Stringdir=scan.next();FileFilterff=newFileFilter(){publicbooleanaccept(Fileb){returnb.getName().endsWith(".xml");}};Filediretorio=newFile(dir);FilefList[]=diretorio.listFiles(ff);System.out.println("Numero de arquivos no diretorio : "+fList.length);for(inti=0;i<fList.length;i++){try{FileInputStreamfstream=newFileInputStream(fList[i]);DataInputStreamin=newDataInputStream(fstream);BufferedReaderbr=newBufferedReader(newInputStreamReader(in));StringstrLine;while((strLine=br.readLine())!=null){System.out.println(strLine);}in.close();}catch(Exceptione){System.out.println(e.getMessage());}}}}
denisspitfire
:shock: qual eu baixo?
estou pensando em criar uma lista com os valores do xml, dai jogo para o banco de dados transformando em objeto talvez… mas enfim, preciso usar o xstream http://xstream.codehaus.org/download.html
qual que eu baixo afinal para add no meu projeto?
denisspitfire
Oque esta falando de argumentos? os dois não sao uma lista??
importjava.io.BufferedReader;importjava.io.DataInputStream;importjava.io.File;importjava.io.FileFilter;importjava.io.FileInputStream;importjava.io.InputStreamReader;importjava.util.List;importjava.util.Scanner;importcom.thoughtworks.xstream.XStream;publicclassListaArquivos{publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);System.out.println("Insira o diretorio");Stringdir=scan.next();FileFilterff=newFileFilter(){publicbooleanaccept(Fileb){returnb.getName().endsWith(".xml");}};XStreamxstream=newXStream();Filediretorio=newFile(dir);FilefList[]=diretorio.listFiles(ff);System.out.println("Numero de arquivos no diretorio : "+fList.length);for(inti=0;i<fList.length;i++){Listamigos=(List)xstream.fromXML(diretorio.listFiles(ff));//oque esta faltando como argumento??}}}
denisspitfire
pouts pq essa parte nao funciona? só preciso de uma lista ou de um objeto que guarde esses valores
alguem pls… travei como previsto kkkk
estou tentando agora com sax… até achei um exemplo bacana mas nao consigo ver direito porque parece magico d+… o xstream estava mais “detalhado” as coisas que aconteciam.