Olá:
Tenho o seguinte script em groovy para cópia de arquivos:
// Teste de cópia de arquivos
def dirBase = new File(".");
def dirSaida = new File("./saida");
def nomeArquivoBase = "TestaCopia.groovy"
def isBase = new FileInputStream(new File(dirBase, nomeArquivoBase))
if(dirSaida.exists()) {
dirSaida.delete()
println "apagando diretório " + dirSaida
}
dirSaida.mkdir()
10.times { it ->
def strSaida = nomeArquivoBase + "." + it
def arqSaida = new File(dirSaida, strSaida)
def osSaida = new FileOutputStream(arqSaida)
osSaida << isBase
println arqSaida.toString() + " - " + arqSaida.length()
}
Obviamente TestaCopia.groovy é o nome do próprio script. Quando eu o rodo obtenho a seguinte saída:
> "C:\groovy-1.0\bin\groovy.bat" "C:\Documents and Settings\db2admin\Meus documentos\TestaCopia.groovy"
apagando diret¢rio .\saida
.\saida\TestaCopia.groovy.0 - 0
.\saida\TestaCopia.groovy.1 - 0
.\saida\TestaCopia.groovy.2 - 0
.\saida\TestaCopia.groovy.3 - 0
.\saida\TestaCopia.groovy.4 - 0
.\saida\TestaCopia.groovy.5 - 0
.\saida\TestaCopia.groovy.6 - 0
.\saida\TestaCopia.groovy.7 - 0
.\saida\TestaCopia.groovy.8 - 0
.\saida\TestaCopia.groovy.9 - 0
> Terminated with exit code 0.
O curioso é que quando vou ao diretório de saída, o primeiro arquivo (TestaCopia.groovy.0) tem tamanho maior que zero (que é o conteúdo do arquivo de entrada) e os demais estão vazios.
Logo a questão é o que estou fazendo de errado. Se alguém conseguir responder eu agradeço.
[size=9]MODERADORES: Não sei se é adequado este tópico ficar no fórum de “assuntos gerais” ou se seria melhor colocá-lo em “Java básico” ou “avançado”. Se você acharem melho transferí-lo, sintam-se a vontade. [/size]
Grato,