Como copiar uma imagem? (RESOLVIDO)

Minha dúvida é a seguinte:

Estou usando um JFilechooser para poder pegar o “diretório” de algumas imagens e poder salvar esse “caminho” no meu banco de dados, para depois recarregar a imagem.

Só que antes de salvar o “caminho” da imagem no banco, eu gostaria de copiar essa imagem para outra pasta, e aí sim pegar o seu “caminho” e salvar no banco de dados. É que assim eu terei certeza de que as imagens não estão espalhadas por todo o computador.

Alguém sabe como fazer isso: copiar uma imagem selecionada pelo File Chooser e salvá-la em outro diretório??

Eu estava vendo o método “File.renameTo(destino)” mas não entendi muito bem… e as dúvidas parecidas com a minha, que eu vejo por aí, as pessoas só fazem colocar o código e não explicam nada. :roll:

Obrigado!

voce pode usar esse metodo ai…

//o objeto arquivo é o arquivo q vc abriu
//File caminho = new File(//caminho do arquivo original)

public void download(String caminho,File arquivo) throws IOException {
arquivo.renameTo(new File(caminho+“arquivo.teste”));

}

http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html#renameTo(java.io.File)

public boolean renameTo(File dest)

Renames the file denoted by this abstract pathname.

Whether or not this method can move a file from one filesystem to another is platform-dependent. The return value should always be checked to make sure that the rename operation was successful.

Parameters:
    dest - The new abstract pathname for the named file 
Returns:
    true if and only if the renaming succeeded; false otherwise 
Throws:
    SecurityException - If a security manager exists and its SecurityManager.checkWrite(java.lang.String) method denies write access to either the old or new pathnames 
    NullPointerException - If parameter dest is null

Opa! Consegui!! :smiley:

Para copiar eu usei FileInputStream e FileOutputStream. É bem simples. Aqui vai o código de exemplo:

[code]FileInputStream origem;
FileOutputStream destino;

FileChannel fcOrigem;
FileChannel fcDestino;

origem = new FileInputStream(“C:\Meus Documentos\Minhas Imagens\zschornack.jpg”);//arquivo que você quer copiar
destino = new FileOutputStream(“C:\zshornack.jpg”);//onde irá ficar a copia do aquivo

    fcOrigem = origem.getChannel();
    fcDestino = destino.getChannel();

    fcOrigem.transferTo(0, fcOrigem.size(), fcDestino);//copiando o arquivo e salvando no diretório que você escolheu

    origem.close();
    destino.close();[/code]

Espero ter ajudado! :wink:
E obrigado ao vinihds!!!
Até mais!