if(file.exists()){
System.out.println("existe o arquivo"); }else{
System.out.println("Não EXISTE O ARQUIVO");}
quando eu rodo local, aparece sempre a mensagem “existe o arquivo”, porém quando faço o deployd no Heroku aparece a mensagem que “Não EXISTE O ARQUIVO”
2019-07-15T12:17:29.065752+00:00 app[web.1]: jar:file:/app/target/regatas-api-1.0.0-SNAPSHOT.jar!/BOOT-INF/classes!/doc/Presencas_Regatas_Abril_2016.xls
2019-07-15T12:17:29.066162+00:00 app[web.1]: Não EXISTE O ARQUIVO
O método .getResource retorna um objeto URL correspondente ao caminho no disco do artefato desejado.
Para obter artefatos de dentro do seu JAR, utilize .getResourceAsStream, que retorna um InputStream para você ler os bytes dele.
E
evandro_araujo
Tentei fazer assim e mesmo problema Local funciona, no heroku não funciona
Resourceresource=newClassPathResource("/doc/Presencas_Regatas_Abril_2016.xls");try{InputStreaminput=resource.getInputStream();Filefile11=resource.getFile();if(file11.exists()){System.out.println(" file11 existe o arquivo");}else{System.out.println(" file11 Não EXISTE O ARQUIVO");}}catch(IOExceptione){// TODO Auto-generated catch blocke.printStackTrace();}
E
evandro_araujo
deu o erro abaixo
java.io.FileNotFoundException: class path resource [doc/Presencas_Regatas_Abril_2016.xls] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/app/target/regatas-api-1.0.0-SNAPSHOT.jar!/BOOT-INF/classes!/doc/Presencas_Regatas_Abril_2016.xls
Porque precisa do objeto File?
Um File representa um arquivo ou diretório no sistema de arquivos do sistema operacional.
Seu artefato não é um arquivo em disco, ele é parte do conteúdo do seu JAR.
Faça assim:
InputStreaminput=getClass().getResourceAsStream("/doc/Presencas_Regatas_Abril_2016.xls");if(input!=null){System.out.println("existe o arquivo");}else{System.out.println("não existe o arquivo");}
E
evandro_araujo
Então minha ideia é o seguinte:
tenho arquivoTemplate.xls e todo mês , irá entrar na rotina e gerar um arquivo por exemplo chamado arquivo072019.xls e neste arquivo irá preencher algumas informações vindo do meu Banco de Dados.
Local Host, funciona de boa, mas no heroku, estou com essa dificuldade.
Preenchi este arquivo, o usuário irá fazer um download deste arquivo, que será enviado por e-mail, para a empresa.
Não enxerguei uma forma de fazer isso, se tiver uma sugetão serão muito bem vindo.