Estou tentando mover arquivos txt de um diretório para o outro, eu só consigo mover 1 único arquivo, eu queria ser capaz de abrir uma pasta e ter um filter ou copiar todo o seu conteúdo para a outra pasta.
O código que tenho é este:
packagejavaapplication8;importjava.io.File;importjava.util.TimerTask;publicclassMyTimerTaskextendsTimerTask{publicvoidrun(){//System.out.println("Realizando algo");// arquivo a ser movidoFilearquivo=newFile("c:\*.txt");// diretorio de destinoFiledir=newFile("c:\mover");// move o arquivo para o novo diretoriobooleanok=arquivo.renameTo(newFile(dir,arquivo.getName()));if(ok){System.out.println("Arquivo foi movido com sucesso");}else{System.out.println("Nao foi possivel mover o arquivo");}}}
Esse tutorial ensina como fazer isso copiando os arquivos um a um. Talvez você consiga algo mais interessante com as classes FileChannel. Ou quem sabe com o apache commons IO. Vale a pena pesquisar.
V
vini_rj2000
Obrigado pela ajuda.
Eu usei o exemplo que vc me enviou eu fiz algumas alterações.
Na classe a seguir, quando ela tinha o main, funcionava perfeitamente, ai eu inclui o Timer parou de excluir os arquivos que ja foram copiados.
packagejavaapplication8;importjava.io.*;importjava.util.List;importjava.util.TimerTask;importjava.util.logging.Level;importjava.util.logging.Logger;publicclassCopyDirectoryextendsTimerTask{publicvoidrun(){CopyDirectorycd=newCopyDirectory();BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));// System.out.println("Enter the source directory or file name : ");//// String source = in.readLine();Stringsource="c:\arq";Filesrc=newFile(source);// System.out.println("Enter the destination directory or file name : ");// String destination = in.readLine();Stringdestination="c:\mover";Filedst=newFile(destination);try{cd.copyDirectory(src,dst);}catch(IOExceptionex){Logger.getLogger(CopyDirectory.class.getName()).log(Level.SEVERE,null,ex);}}publicvoidcopyDirectory(FilesrcPath,FiledstPath)throwsIOException{if(srcPath.isDirectory()){// Criar Diretórioif(!dstPath.exists()){dstPath.mkdir();}Stringfiles[]=srcPath.list();for(inti=0;i<files.length;i++){// srcPath.renameTo(dstPath);// boolean ok = srcPath.renameTo(new File(dstPath, srcPath.getName()));// if (ok){// System.out.println("ccc");// // }copyDirectory(newFile(srcPath,files[i]),newFile(dstPath,files[i]));srcPath.deleteOnExit();}}else{if(!srcPath.exists()){System.out.println("File or directory does not exist.");System.exit(0);}else{InputStreamin=newFileInputStream(srcPath);OutputStreamout=newFileOutputStream(dstPath);// Transfer bytes from in to outbyte[]buf=newbyte[1024];intlen;while((len=in.read(buf))>0){out.write(buf,0,len);}in.close();out.close();srcPath.deleteOnExit();}}System.out.println("Directory copied.");}}