java – Error al guardar una imagen con JFileChooser


Tengo un jLabel donde quiero abrir una imagen, la abre correctamente. Seguidamente quiero guardarla mediante jButton en algún repositorio del equipo pero no me permite guardarla. No me da ningún error tampoco de mala ubicación o de sintaxis.

Código:

public byte() AbrirImagen(File archivo) {
        byte() imagen = new byte(1024 * 100);
        try {
            entrada = new FileInputStream(archivo);
            entrada.read(imagen);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return imagen;
    }

    private void button_elegirActionPerformed(java.awt.event.ActionEvent evt) {                                              
        if(seleccionado.showDialog(null, "ABRIR ARCHIVO") == JFileChooser.APPROVE_OPTION){
            archivo = seleccionado.getSelectedFile();
            if(archivo.canRead()){
                if(archivo.getName().endsWith("jpg") || archivo.getName().endsWith("jpeg") || archivo.getName().endsWith("png") || archivo.getName().endsWith("gif")){
                    imagen = AbrirImagen(archivo);
                    label_foto.setIcon(new ImageIcon(imagen));
                }else{
                    JOptionPane.showMessageDialog(null, "Selecionne un archivo...");
                }
            }
        }
    }                                             

    public String GuardarImagen(File archivo, byte() imagen){
        String respuesta = null;
        try{
            salida = new FileOutputStream(archivo);
            salida.write(imagen);
            respuesta = "La imagen se guardó con éxito.";
        }catch(Exception e){
            e.printStackTrace();
        }
        return respuesta;
    }

    private void button_guardarActionPerformed(java.awt.event.ActionEvent evt) {                                               
        if(seleccionado.showDialog(null, "GUARDAR IMAGEN") == JFileChooser.APPROVE_OPTION){
            archivo = seleccionado.getSelectedFile();
            if(archivo.getName().endsWith("jpg") || archivo.getName().endsWith("png") || archivo.getName().endsWith("gif")){
                String respuesta = GuardarImagen(archivo, imagen);
                if (respuesta != null){
                    JOptionPane.showMessageDialog(null, respuesta);
                }else{
                    JOptionPane.showMessageDialog(null, "Error al guardar imagen.");
                }
            }
        }else{
            JOptionPane.showMessageDialog(null, "La imagen no tiene formato de imagen.");
        }
    }