Copiar arquivo e salvar

Boa Tarde …

Como permitir que o usuário pegue um arquivo qualquer e copie para outro diretório já determinado no sistema?? renomeando ele …
ex: o usuário quer arquivar um arquivo em pdf, então ele vai procurar e selecionar … depois disso … aparece um textfield que ele vai colocar uma data… então o arquivo vai para uma pasta dentro do sistema renomeado com a data…tipo um copiar e colar…

Use um JFileChooser para selecionar o arquivo.
Você pode usar um JOptionPane para fazer a pergunta (embora eu ache que para tantas operações, seria melhor criar um JDialog).

E, finalmente, use a função Files.move para mover o arquivo de um lugar para outro.

Já consegui encontar o diretório assim …

JFileChooser arquivo = new JFileChooser(); arquivo.showOpenDialog(null); caminho = arquivo.getSelectedFile().getAbsolutePath(); jTextField1.setText(caminho);
aii … falta copiar para a pasta do sistema…mas ainda não deu certo …

Você quer copiar ou mover?

Você usaria:

Files.copy(arquivo.getSelectedFile().asPath(), Path.get(novoNomeDoArquivo));

Onde novoNomeDoArquivo é a variável que contém o novo nome, gerado por você.

Eu quero copiar para outra pasta… mas essa pasta o usuário não ver…nem escolhe…quando ele escolhe “salvar” o arquivo vai automaticamente…

É só passar essa pasta no novo nome do arquivo.

Files.copy( Paths.get(jTextField1.getText()), Paths.get("c:/minhapastasecreta/" + arquivo.getSelectedFile().getSimpleName()));

os GET estão dando erro… :? …

Desculpe, era Paths.get e não Path.get como eu havia colocado.

O que exatamente faz essa parte : arquivo.getSelectedFile().getAbsolutePath()

Pega o nome do arquivo selecionado pelo usuário, com o caminho.

Muito Obrigado … deu certo… só falta agora ver o formato do arquivo a ser copiado e passar para a cópia … mas já copiou com o nome que eu coloquei …

try { Files.copy( Paths.get(jTextField1.getText()), Paths.get("C:/pastanova/" + jTextField2.getText())); } catch (IOException ex) { ex.printStackTrace(); }