Como salvar Arquivo na maquina do usuario ( interface grafica )
9 respostas
D
DarkLouis
Ae galera,
Eu to fazendo uma interface grafica que deve permitir ao usuario gravar um arquivo na sua maquina.
Como que eu faço para aparecer uma janela grafica na tela pra ajudar o usuario escolher o caminho que ele quer salvar o arquivo? Como a do exemplo em anexo
Caro DarkLouis
Em aplicações Swing, com o uso de NetBeans, é só procurar por “Seletor de Arquivos” em Janelas Swing e arrastá-lo para o seu formulário.
Espero ter ajudado.
Fique com Deus.
G
Gustavo_Marques
Adicione um JButton(“Selecione um arquivo”) ; e no actionPerformed dele digite:
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);//use FILES_ONLY caso deseje que o usuario selecione apenas arquivos
fileChooser.setDialogTitle("Selecione um arquivo por favor");
int status = fileChooser.showOpenDialog(null);
if (status == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();//esse é o arquivo que o usuario escolheu, faça o que quiser com ele
}else{
// o usuario desistiu, faça algo
}
Para gravar algum dado nesse arquivo escolhido, poderá utilizar a lib commons-io da apache para agilizar.
Na verdade eu já tinha lido esse artigo.O que eu estou precisando é um poco diferente.
Na verdade eu não vou ter nenhum File selecionado, então quando ele clicar em Salvar eu não quero que ele de fato salve, eu só quero pegar o caminho ( URL ) do diretório que ele escolheu.Porque dai eu vou passar para a a minha camada de persistência, essa sim vai SALVAR o arquivo de fato na maquina.
Eu já gerei a janela, como podem ver no anexo.Agora eu só quero descobrir como fazer o botão salvar me dar apenas uma URL.
Abraço
M
M112
Para pegar a URL ao clicar em salvar tente algo parecido com isso:
Ultima coisa… se eu quiser que a caixa de dialogo “nome do arquivo” (circulada em vermelho no anexo) já venha preé-preenchida com arquivo.txt por exemplo, qual o método?
Eu dei uma olhada nos métodos do filechoser não achei nada.
M
M112
Experimente algo mais ou menos assim:
JFileChooserfileChooser=newJFileChooser();fileChooser.setSelectedFile(newFile("arquivo.txt"));//faz com que o campo "nome do arquivo" venha preenchidofileChooser.showDialog(componente,"Header do JFileChooser");//linha que exibe seu file chooser