affff… eu me esforcando aqui pra poder fazer o codigo e cv ja respondeu…
bem de todo jeito eu vou postar pelo esforco… mas vc tem que ter certeza que as duas pastas tem a mesma quantidade de arquivos… eh so colocar um if no comeco e passa direito…
public void rodar()
{
dir1 = new File( "C:\temp\temp1" );
dir2 = new File( "C:\temp\temp2" );
lista1 = dir1.listFiles();
lista2 = dir2.listFiles();
for( int i = 0; i < lista1.length; i++ )
{
if( lista1[i].getName().equals( lista2[i].getName() ) )
System.out.println( lista1[i].toString() + ": igual" );
else
System.out.println( lista1[i].toString() + ": diferente" );
}
}
se alguem tiver alguma coisa que diga agora ou cale-se para sempre
Valeu, galera.
Ajudaram muito. A idéia é mesmo testar se todos os arquivos do A se encontram no B. O resto é comigo…por enquanto! rs[color=“darkred”][/color]
Além de testar se os arquivos existem, eu quero copiá-los para o diretório (fazendo quase um “mirror”). A questão é a seguinte: se o arquivo existe, eu quero copiá-lo mesmo assim (opa, deixa eu dizer que copiar eu sei…rs ), a não ser que o arquivo no diretório de destino esteja sendo editado (aberto).
A questão: como eu sei que o arquivo já está aberto?
Nao da pra saber se o arquivo esta sendo editado ou nao. Pra comecar, no Unix isso requer permissoes de root (vide lsof), e em outros sistemas operacionais pode nem ser possivel.