Galera é o seguinte , preciso fazer um backup da base de dados do meu sistema para que o usuario administrador possa salvar este arquivo num pendrive ou outro meio
pois bem meu banco se encontra dentro do meu projeto e queria que ele o arquivo q ele gerasse fosse salvo la tbem e se o backup fosse gerado correto o jchooser abrisse direto da pasta do projeto apenas pra ele escolher o arquivo .GBK e poder salvar no backup.meu codigo esta abaixo:
if (e.getSource() == barras.jmiBackup) {
int opcao;
Object[] botoes = {“Sim”, “Não”};
opcao = JOptionPane.showOptionDialog(null, “Deseja fazer backup da base de dados?”, “BACKUP”, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, botoes, botoes[0]);
if (opcao == JOptionPane.YES_OPTION) {
try {
Scanner s = new Scanner(Runtime.getRuntime().exec("C:\\Firebird_2_1\\bin\\gbak.exe -user SYSDBA -pas masterkey C:\\Banco\\BANCOFINAL.FDB "+System.getProperty("user.dir") +"\\Banco\\VITALIZE.GBK").getInputStream());
} catch (IOException ex) {
Logger.getLogger(TelaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
}
JFileChooser salvarBackup = new JFileChooser();
salvarBackup.setDialogTitle("Salvar Backup");
int horadesalvar = salvarBackup.showSaveDialog(this);
if(horadesalvar == JFileChooser.APPROVE_OPTION){
File arq = salvarBackup.getSelectedFile();
String DiretorioEscolhido = salvarBackup.getSelectedFile().getAbsolutePath();
try {
// Scanner scannerBanco = new Scanner(Runtime.getRuntime().exec(""+ System.getProperty("user.dir") + "\\ExecutavelBackup\\bin\\gbak.exe -user SYSDBA -pas masterkey "+ System.getProperty("user.dir") + "\\Banco\\BANCOFINAL.FDB D:\\BANCOVITALIZE.GBK").getInputStream());
escreveArquivo(arq.getPath());
} catch (IOException ex) {
Logger.getLogger(TelaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println("Nome do arquivo escolhido: " + arq.getPath());
}
}
}