Ler um diretorio e jogar arquivo em outro?

8 respostas
F

boa tarde

pessoal vi alguns exemplo mas ainda nao estou conseguindo fazer o procedimento.

tenho um diretorio onde caira a cada tempo arquivos XML, quero ler esse diretorio e a cada arquivo lido jogar em um subdiretorio l(indos).

exemplo

c:\xml
c:\xml\lidos

pesquisei o procedimento exemplo abaixo mas como implementar

public boolean moveArquivo(String arqOrigem, String dirDestino) throws FileNotFoundException, IOException {

File fOrigem = new File(arqOrigem);

File fDestino = new File(dirDestino);

if (fOrigem.isDirectory()) {

return false;

}
if (!fDestino.isDirectory()) {   
    return false;   
}   

FileInputStream in = new FileInputStream(arqOrigem);   
FileOutputStream out = new FileOutputStream(dirDestino   
        + (dirDestino.endsWith(String.valueOf(File.separatorChar)) ? "" : File.separatorChar)   
        + arqOrigem.substring(arqOrigem.lastIndexOf(File.separatorChar) + 1)); //aqui está corrigido   

FileChannel channelIn = in.getChannel();   
FileChannel channelOut = out.getChannel();   

channelIn.transferTo(0, channelIn.size(), channelOut);   

in.close();   
out.close();   

if (fDestino.exists()) {   
    fOrigem.delete();   
    return true;   
} else {   
    return false;   
}

}

agradeço desde de ja

8 Respostas

nel

Oi!

Sempre que você postar algum código, utilize as tags [/code].

1 - Usou o método de exemplo?
2 - Caso tenha usado, o que houve? Exceção? Funcionou? Não sabe como aplicar?

Se houver exceção em qualquer coisa, poste-a.
Abraços.

F

ok

neste caso nao usei , só peguei exemplo de ler um arquivo, onde este exemplo ja tem nome de arquivo no meu caso tenho diretorio com varios arquivos e o que eu preciso é ler esse diretorio , pegar arquivo por arquivo e apos ler cada arquivo gravar em outro diretorio, tenho procedimento de ler o xml , mas ler o diretorio e pegar cadas arquivo nao tenho.

obrigado.

lucasportela

Exemplo de como ler arquivos de uma pasta:

F

lucas agradeço muito , fiz exemplo deu certo , só que nao seria para ler o arquivo e sim para ler o diretorio e pegar o nome do arquivo e jogar para outro diretorio exemplo

ler diretorio

tenho um programa em java que vai ler esse arquivo

depois de lido

jogar para direitorio lidos.

lucasportela

Com o exemplo que você citou e o que eu enviei, já dá para implementar.

  • Com o exemplo de ler os arquivos do diretorio, vc só precisa alterar para ele ler o nome do arquivo ao invés de abri-lo;
  • Use seu programa java para ler os arquivos
  • Use seu exemplo que citou acima para mover os arquivos para a pasta destino

Confere?

fernandosavio

To tentando ajudar mas fiquei com preguiça de ler o código…
Então por favor:

//Seu codigo IDENTADO aqui
F

boa tarde

pessoal deu certo, esta gravandi no meu banco oracle todas as notas fiscais dos xmls mas no final do meu projeto a cada xml lido esta dando erro

[/code]

Document doc = null;

SAXBuilder builder = new SAXBuilder();

doc = builder.build(c://lidos// + arq.getName());

[quote]

como disse tenho diretorio c:\xml
e outro diretorio c:\lidos
quero jogar do c:\xml para c:\lidos

o sistema nao pode encontrar caminha especificado?

agradeço desde de ja

F

pessoal estou usando esta linha para jogar os arquivos em outro diretorio, esta dando certo mais esta tb dando erro

boolean success = arq. arq.renameTo(new File(diretoriolidos, arq.getName()));
[Fatal Error] lidos:1:1: Content is not allowed in prolog.

org.xml.sax.SAXParseException: Content is not allowed in prolog.

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)

at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)

at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)

at br.com.nfe.XmlReaderProt.lerXmlNfe(XmlReaderProt.java:28)

at br.com.nfe.LerXmlNfe.(LerXmlNfe.java:53)

at br.com.nfe.LerXmlNfe.main(LerXmlNfe.java:636)

[Fatal Error] lidos:1:1: Content is not allowed in prolog.

org.xml.sax.SAXParseException: Content is not allowed in prolog.

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)

at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)

at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)

at br.com.nfe.XmlReaderIde.lerXmlNfe(XmlReaderIde.java:25)

at br.com.nfe.LerXmlNfe.(LerXmlNfe.java:95)

at br.com.nfe.LerXmlNfe.main(LerXmlNfe.java:636)

[Fatal Error] lidos:1:1: Content is not allowed in prolog.

org.xml.sax.SAXParseException: Content is not allowed in prolog.

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)

at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)

at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)

at br.com.nfe.XmlReaderEmit.lerXmlNfe(XmlReaderEmit.java:25)

at br.com.nfe.LerXmlNfe.(LerXmlNfe.java:138)

at br.com.nfe.LerXmlNfe.main(LerXmlNfe.java:636)

[Fatal Error] lidos:1:1: Content is not allowed in prolog.

org.xml.sax.SAXParseException: Content is not allowed in prolog.

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)

at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)

at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)

at br.com.nfe.XmlReaderDest.lerXmlNfe(XmlReaderDest.java:28)

at br.com.nfe.LerXmlNfe.(LerXmlNfe.java:184)

at br.com.nfe.LerXmlNfe.main(LerXmlNfe.java:636)

[Fatal Error] lidos:1:1: Content is not allowed in prolog.

org.xml.sax.SAXParseException: Content is not allowed in prolog.

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)

at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)

at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)

at br.com.nfe.XmlReaderItens.lerXmlNfe(XmlReaderItens.java:28)

at br.com.nfe.LerXmlNfe.(LerXmlNfe.java:227)

at br.com.nfe.LerXmlNfe.main(LerXmlNfe.java:636)

[Fatal Error] lidos:1:1: Content is not allowed in prolog.

org.xml.sax.SAXParseException: Content is not allowed in prolog.

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)

at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)

at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)

at br.com.nfe.XmlReaderIcms.lerXmlNfe(XmlReaderIcms.java:28)

at br.com.nfe.LerXmlNfe.(LerXmlNfe.java:273)

at br.com.nfe.LerXmlNfe.main(LerXmlNfe.java:636)

[Fatal Error] lidos:1:1: Content is not allowed in prolog.

org.xml.sax.SAXParseException: Content is not allowed in prolog.

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)

at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)

at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)

at br.com.nfe.XmlReaderPis.lerXmlNfe(XmlReaderPis.java:28)

at br.com.nfe.LerXmlNfe.(LerXmlNfe.java:325)

at br.com.nfe.LerXmlNfe.main(LerXmlNfe.java:636)

[Fatal Error] lidos:1:1: Content is not allowed in prolog.

org.xml.sax.SAXParseException: Content is not allowed in prolog.

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)

at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)

at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)

at br.com.nfe.XmlReaderCofins.lerXmlNfe(XmlReaderCofins.java:27)

at br.com.nfe.LerXmlNfe.(LerXmlNfe.java:378)

at br.com.nfe.LerXmlNfe.main(LerXmlNfe.java:636)

[Fatal Error] lidos:1:1: Content is not allowed in prolog.

org.xml.sax.SAXParseException: Content is not allowed in prolog.

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)

at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)

at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)

at br.com.nfe.XmlReaderTotal.lerXmlNfe(XmlReaderTotal.java:28)

at br.com.nfe.LerXmlNfe.(LerXmlNfe.java:430)

at br.com.nfe.LerXmlNfe.main(LerXmlNfe.java:636)

[Fatal Error] lidos:1:1: Content is not allowed in prolog.

org.xml.sax.SAXParseException: Content is not allowed in prolog.

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)

at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)

at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)

at br.com.nfe.XmlReaderTransp.lerXmlNfe(XmlReaderTransp.java:27)

at br.com.nfe.LerXmlNfe.(LerXmlNfe.java:487)

at br.com.nfe.LerXmlNfe.main(LerXmlNfe.java:636)

[Fatal Error] lidos:1:1: Content is not allowed in prolog.

org.xml.sax.SAXParseException: Content is not allowed in prolog.

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)

at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)

at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)

at br.com.nfe.XmlReaderCobr.lerXmlNfe(XmlReaderCobr.java:28)

at br.com.nfe.LerXmlNfe.(LerXmlNfe.java:541)

at br.com.nfe.LerXmlNfe.main(LerXmlNfe.java:636)

[Fatal Error] lidos:1:1: Content is not allowed in prolog.

org.xml.sax.SAXParseException: Content is not allowed in prolog.

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)

at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)

at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)

at br.com.nfe.XmlReaderObs.lerXmlNfe(XmlReaderObs.java:27)

at br.com.nfe.LerXmlNfe.(LerXmlNfe.java:583)

at br.com.nfe.LerXmlNfe.main(LerXmlNfe.java:636)
Criado 2 de setembro de 2011
Ultima resposta 6 de set. de 2011
Respostas 8
Participantes 4