[size=18]Estou buscando arquivos xml atraves de um FOR e validando os mesmos com um parser até ai beleza os que ele valida eu importo e depois consigo dar o renameTo pro diretorio de backup…o problema é que eu não estou conseguindo mover esses arquivos que estão incorretos para o diretorio de “erros” usando renameTo, utilizo ele quando o validador de xml cai na EXCEPTION, indicando que o arquivo está com formatação incorreta…percebi que o arquivo ainda esta sendo usado pelo sistema nesse momento, não existe algum comando que feche esse procedimento e me deixe mover o arquivo ???Se alguem tiver uma outra sugestao fico no aguardo…
DOMParserparser=newDOMParser();XMLParserxmlp;Stringde=f.toURI().toURL().toString();//Criamos uma classe SAXBuilder que vai processar o XML4 SAXBuildersb=newSAXBuilder();//valida a estrutura do XML Documentd=null;try{parser.parse(de);d=sb.build(f);}catch(JDOMExceptionex){logger.error(ex.getMessage(),ex);}catch(IOExceptionex){logger.error(ex.getMessage(),ex);}catch(SAXExceptionex){//jogar o arquivo para a errof.renameTo(newFile(util.getResource().getString("caminho.arquivo.emitida.erros"+codigoEmpresa)+"11"));ex.getMessage();}//Recuperamos o elemento root Elementbanco=d.getRootElement();NfeEmitidaENfe=newNfeEmitida();ENfe.setSistemaOrigem(banco.getChildText("sistOrigem"));
…
zoren
você fechou os objetos que usou para ler o arquivo??
J
juliosp
Eu so vou começar a ler esse arquivo depois de dar um build ate então não leio o arquivo, ja tentei tambem fechar o parser…dando
parser=null e nada de funcionar…
zoren
geralmente pra fechar usa o método close()
Fernando_Generoso_da
Deve ser esse o problema…Não vai conseguir renomear um arquivo que esteja sendo utilizado por outro processo.
Fernando
J
juliosp
Não existe close() para essa classe…todos os closes e null que eu podia fazer eu fiz…mas mesmo assim nao foi…