Olá Pessoal,
No post de hoje vamos ver como renomear um arquivo no dropbox usando a easyJavaDropbox API. O problema surgiu porque a API do Dropbox não tem nenhum método Java para renomear um arquivo. Na verdade tem um move que pode de fato mover um arquivo ou folder e também renomear. Achamos funcionalidades demais para um unico método, e na versão 1.2.0 da easyJavaDropbox API adicionamos um método que é capaz de fazer o rename.
Lets go…
Starting…
Considerando que você já tem API configurado no seu projeto, vamos ver como usar a nova funcionalidade de renomear um arquivo.
Requisitos
EasyJavaDropboxAPI 1.2.0
Há apenas dois novos métodos nessa versão:
- renameFileRoot(String currentNameFile, String newNameFile): esse método renomeia um arquivo considerando que o mesmo está na raiz do dropbox: “/”. Lembre-se de que a raiz é da app que você criou.
- renameFile(String pathFolder, String currentNameFile, String newNameFile): já esse método vai renomear um arquivo para um caminho que for especificado, então você vai ter que dizer:
- a pasta onde está o arquivo;
- o nome do arquivo que será renomeado;
- e o nome do novo arquivo;
Development
Agora vamos praticar. Como sempre, o exemplo vai estar no projeto easyJavaDropboxAPIExample, que já possui exemplos das outras funcionalidades da API.
Passo 1
No método main vamos criar um método privado que fará o rename de um arquivo na raiz e outro para um caminho específico:
public static void main(String[] args) throws DbxException, IOException { String token = "token here"; String path = "/"; EasyJavaDropBoxService easyJavaDropBoxService = new EasyJavaDropBoxServiceImpl(path, token); renameFileFromRoot(easyJavaDropBoxService); renameFile(easyJavaDropBoxService); }
Agora vamos criar os métodos:
private static void renameFile(EasyJavaDropBoxService easyJavaDropBoxService) throws DbxException { easyJavaDropBoxService.renameFile("/teste/","myfile.png", "renameok.png"); }
private static void renameFileFromRoot(EasyJavaDropBoxService easyJavaDropBoxService) throws DbxException { String newNameFile = "alertfytestelocal.png"; String currentNameFile = "testelocal.png"; easyJavaDropBoxService.renameFileRoot(currentNameFile ,newNameFile); }
No dropbox:
Temos um arquivo dentro do diretório teste chamado de myfile.png
Vamos renomear esse arquivo para renameok.png
Na raiz vamos alterar o arquivo chamado alertfytestelocal.png para testelocal.png
Testando
Agora vamos testar a aplicação executando o método main.
Resultado:
Na pasta teste:
Na raiz:
Fantástico, não? Espero que tenham gostado do post e da funcionalidade.
Github Projeto
Projeto Exemplo:
Abracos, see ya!!