Existem alguns projetos em Java que exigem que manipulemos arquivos e imagens. Este artigo ensina como fazer cópia de arquivos e como exemplo vou usar uma situação clássica do desenvolvimento de sistemas de informação, o carregamento de fotos.

Este artigo não ensina como gravar no banco, mas se você já sabe como gravar, então basta prestar atenção no código que você saberá qual variável deverá ser enviada para o seu banco de dados.

Interface da aplicação para carregar uma foto no java

A interface que vamos utilizar é esta, se atentando que a imagem será carregada dentro da label que está destacada na imagem:

Montada a interface, vamos para o código;

Iniciando o código

Iremos criar uma variável pública do tipo File e uma instância da classe JFileChooser

O JFileChooser é responsável por abrir uma janela para seleção de arquivos, o arquivo selecionado pelo usuário será guardado em uma variável do tipo JFile. Logo após o início da classe (localize a linha que começa com public class) adicione os seguintes códigos;

JFileChooser chooser = new JFileChooser();
File f;

Você deverá importar as classes necessárias para o código, um alerta de erro deverá ser retornado conforme a imagem a seguir, mas você poderá fazer a importação pelo próprio alerta de erro.

Botão Selecionar Imagem

O código do botão é este;
Observando que a classe javax.swing.ImageIcon deverá ser importada no início do seu projeto. Se você utiliza NetBeans, o próprio NetBeans já irá acionar um alerta na linha ImageIcon icon = new ImageIcon(f.getPath()); informando a necessidade da importação.

        chooser.showOpenDialog(null);
        f = chooser.getSelectedFile();
        String foto = f.getAbsolutePath();
        jTextField1.setText(foto);
        
        /* OPCIONAL - Código para definir o tamanho da imagem na tela */
        ImageIcon imageIcon = new ImageIcon(f.getPath()); // load the image to a imageIcon
        Image image = imageIcon.getImage(); // transform it 
        Image newimg = image.getScaledInstance(120, 120,  java.awt.Image.SCALE_SMOOTH); // scale it the smooth way 
        /* Fim do código do redimensionamento */
        
        ImageIcon icon = new ImageIcon(newimg);
        jLabel1.setIcon(icon);  

Executando teremos;

Botão Copiar Imagem

O Botão Copiar imagem irá fazer uma cópia do arquivo para o mesmo diretório do projeto.

        String NomeDoArquivo = f.getName();
        File destino = new File(".\\" + NomeDoArquivo);
        System.out.println("" + destino.toString());
        destino = destino.getAbsoluteFile();

        try {
            Files.copy(f.toPath(), destino.toPath());
            JOptionPane.showMessageDialog(null, "Salvo com sucesso!");
        } catch (IOException ex) {
            
            JOptionPane.showMessageDialog(null, "Erro! " + ex);
        } 

Download – Exemplo de como salvar imagens no Java

Download Aqui