Salve galerinha!
Hoje implementei no meu projeto java swing o DropBox para fazer upload do arquivo do banco de dados (HSQLDB) embedded para nuvem.
Ocorreu tudo certo, consegui salvar o arquivo, porém queria saber se existe algum metódo ou api que possa evitar ter que gerar o código toda hora, que deixe o código fixo?
E se é possível fazer o upload de arquivo com o mesmo nome, fazer tipo um update ou deletar o arquivo existente e salvar um novo?
Ação do meu botão de Backup:
DbxRequestConfig config = DbxRequestConfig.newBuilder("dropbox/java-tutorial").build();
DbxClientV2 client = new DbxClientV2(config, ACCESS_TOKEN);
boolean check = false;
FullAccount account;
try {
account = client.users().getCurrentAccount();
System.out.println(account.getName().getDisplayName());
} catch (DbxException ex) {
Logger.getLogger(TelaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
}
ListFolderResult result;
try {
result = client.files().listFolder("");
while (true) {
for (Metadata metadata : result.getEntries()) {
if(metadata.getName().equals("bdbkp.txt")){
System.out.println("ok");
}else{
System.out.println("Nenhum arquivo encontrado");
}
}
if (!result.getHasMore()) {
break;
}
}
result = client.files().listFolderContinue(result.getCursor());
} catch (DbxException ex) {
Logger.getLogger(TelaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
}
try (InputStream in = new FileInputStream("bd/bdext.script")) {
FileMetadata metadata = client.files().uploadBuilder("/bdbkp.txt").uploadAndFinish(in);
metadata.equals(0);
}catch (FileNotFoundException ex) {
Logger.getLogger(TelaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(TelaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
} catch (DbxException ex) {
Logger.getLogger(TelaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
}