Salvar Imagem

oie
tenho uma pagina em java que permite que o usuário insira uma imagem (parecido com uma rede social)

porem não sei como salvar esta imagem em um pacote dentro de minha aplicação…

a imagem pode estar em qualquer lugar do computador, porem para evitar usar o banco de dados para salva-la gostaria de, via código, fazer uma cópia em meu pacote imagem… (muito parecido com uma rede social)…

sera que alguém poderia me ajudar??

aqui vai abrir uma janela que vc pode navegar nas suas pasta e selecionar o arquivo

    JFileChooser chooser = new JFileChooser();
    chooser.setFileFilter(new ExtensionFileFilter("Arquivos de imagem", "png", "gif", "jpeg"));
    if (chooser.showOpenDialog(chooser) != JFileChooser.APPROVE_OPTION) {
      return;
    }
    // Aqui é informado o caminho do arquivo no console, para manipular o caminho do arquivo 
    //é so pega esse codigo: chooser.getSelectedFile().toString())
    System.out.println("Arquivo selecionado: " + chooser.getSelectedFile().toString());

sua aplicação é desk ou web?

é desk…

tipo para fazer a janela que pega a imagem ja consegui porem não consigo fazer uma cópia dela em meu pacote próprio para imagens :s…

carra nunca fiz isso pra desk só pra web mesmo… tem um codigo aqui mas é pra web se ajuda ta ai…

public String fileUploadAction(FileUploadEvent event) throws IOException {
		try {
			arquivo.setNome(event.getFile().getFileName());
			byte[] conteudo = event.getFile().getContents();
			String caminho = "C:\\arquivos\\" + event.getFile().getFileName();
			FileOutputStream fos = new FileOutputStream(caminho);
			fos.write(conteudo);
			fos.close();
			HibernateDao<Arquivos> hibernateDao = new HibernateDao<Arquivos>(Arquivos.class);
			arquivo.setCaminho(caminho);
			arquivo.setTamanho(conteudo.length);
			String nomeArquivo = arquivo.getNome();
			int e = nomeArquivo.lastIndexOf(".");
			arquivo.setTipo(nomeArquivo.substring(e));
			hibernateDao.salvar(arquivo);
			FacesContext context = FacesContext.getCurrentInstance();
			context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Arquivo Salvo!", arquivo.getNome()));
		} catch (Exception e) {
			FacesContext context = FacesContext.getCurrentInstance();
			context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro!", " " + e));
		}
FIle imagem = new File(jFildTextFIleName.getText());
//onde jFIldTextFileName é o campo que esta setado com o caminho da imagem

blz mais existe um modo de eu pegar ela desse campo sitado e fazer uma cópia no meu Pacote Imagens??
via código???

tem sim faz assim

//entrada 
File inFile = new File("caminho que vc recebeu do jfilechoose); // exemplo :  fileChooser.getSelectedFile().getAbsolutePath();
//saida
 File outFile = new File("seuprojeto/imagens/");
 
// abrimos os streams para leitura/escrita
FileInputStream fis = new FileInputStream(inFile);
FileOutputStream fos = new FileOutputStream(outFile);
 
// Obtém os canais por onde lemos/escrevemos nos arquivos
FileChannel inChannel = fis.getChannel();
FileChannel outChannel = fos.getChannel();
 
// copia todos o conteúdo do canal de entrada para o canal de saída
outChannel.transferFrom(inChannel, 0, inChannel.size());
fis.close();
fos.close();
inChannel.close();
outChannel.close();

A partir do Java 7, é mais fácil:

Files.copy(Paths.get("seuProjeto/imagem.png"), Paths.get("/pastaDeDestino/imagem.png"));

Mais informações: