Como obter o tamanho de um arquivo em bytes
28/01/2008
0
Pessoal estou com algumas duvias..estou desenvolvendo um software e preciso fazer o seguinte: Ele ira ficar rodando a procura do caminho do pendrive e quando ele achar esse caminho ele vai comparar os arquivos com o do c por byte e se for um arquivo atualizado ele ira copiar para o c:, caso nao seja ele nao copia..detalhe ele nao pode parar, pq sempre que entrar pendrive ele tem que fazer essa verificacao..segue o codigo..alguem pode me ajudar???? Um dos meu problemas e esse que ele copia e fica copiando por cima sem fim...
public static void main(String[] args) throws IOException
{
String diretorioRead = ´J:\\Update´;
String diretorioCopia = ´C:\\Programacao´;
File destino= new File (´J:\\Update´);
while (true) {
if (destino.exists ()){
copyFiles(diretorioRead, diretorioCopia);
// String file2 =´\´C:\\Documents and Settings\\rodrigo.santos\\Meus documentos\\Minhas músicas\\My Playlists\\Rodrigo.wpl\´´;
// Runtime.getRuntime().exec(´C:\\Arquivos de programas\\Windows Media Player\\wmplayer.exe ´+file2);
//
}
}
}
public static void copyFiles(String strPath, String dstPath) throws IOException
{
File diretorio = new File(strPath);
File arquivoDestino = new File(dstPath);
String arquivo = null;
String[] arquivos = diretorio.list();
try {
if (diretorio.isDirectory()) {
arquivoDestino.mkdirs();
arquivos = diretorio.list();
for (int i = 0; i < arquivos.length; i++) {
arquivo = arquivos[i];
System.out.println(arquivo);
String dest1 = arquivoDestino.getAbsolutePath() + ´\\´ + arquivos[i];
String src1 = diretorio.getAbsolutePath() + ´\\´ + arquivos[i];
copyFiles(src1 , dest1);
}
}
else
{
FileInputStream fin = new FileInputStream(diretorio);
FileOutputStream fout = new FileOutputStream (arquivoDestino);
int c;
while ((c = fin.read()) >= 0)
fout.write(c);
fin.close();
fout.close();
}
} catch (FileNotFoundException fnex) {
fnex.printStackTrace();
} catch (IOException ioex) {
ioex.printStackTrace();
}
}
public static void main(String[] args) throws IOException
{
String diretorioRead = ´J:\\Update´;
String diretorioCopia = ´C:\\Programacao´;
File destino= new File (´J:\\Update´);
while (true) {
if (destino.exists ()){
copyFiles(diretorioRead, diretorioCopia);
// String file2 =´\´C:\\Documents and Settings\\rodrigo.santos\\Meus documentos\\Minhas músicas\\My Playlists\\Rodrigo.wpl\´´;
// Runtime.getRuntime().exec(´C:\\Arquivos de programas\\Windows Media Player\\wmplayer.exe ´+file2);
//
}
}
}
public static void copyFiles(String strPath, String dstPath) throws IOException
{
File diretorio = new File(strPath);
File arquivoDestino = new File(dstPath);
String arquivo = null;
String[] arquivos = diretorio.list();
try {
if (diretorio.isDirectory()) {
arquivoDestino.mkdirs();
arquivos = diretorio.list();
for (int i = 0; i < arquivos.length; i++) {
arquivo = arquivos[i];
System.out.println(arquivo);
String dest1 = arquivoDestino.getAbsolutePath() + ´\\´ + arquivos[i];
String src1 = diretorio.getAbsolutePath() + ´\\´ + arquivos[i];
copyFiles(src1 , dest1);
}
}
else
{
FileInputStream fin = new FileInputStream(diretorio);
FileOutputStream fout = new FileOutputStream (arquivoDestino);
int c;
while ((c = fin.read()) >= 0)
fout.write(c);
fin.close();
fout.close();
}
} catch (FileNotFoundException fnex) {
fnex.printStackTrace();
} catch (IOException ioex) {
ioex.printStackTrace();
}
}
Rodrigo_aeso
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)