Ler um arquivo sql no FileReader que precisa estar dentro do arquivo jar que vai ser executado

4 respostas
java
vpmaciel1981
import org.apache.commons.io.IOUtils;
public class BancoUtil {
	public void lerArquivo() throws ClassNotFoundException, SQLException {
String query = IOUtils.toString(new FileReader("./lista_todos_os_bancos_de_dados_com_informacoes_detalhadas_sobre_o_espaco_usado.sql"));`
}
}
// preciso que este arquivo sql esteja dentro do jar

4 Respostas

staroski

As classes File e FileReader servem pra acessar arquivos que estão no sistema de arquivos do sistema operacional.
Pra ter acesso à conteúdo que está dentro do jar de sua aplicação, você deve utilizar o getClass().getResourceAsStream.

vpmaciel1981

mas onde que eu coloco isso no código do jeito que está aí ?

staroski

Ué, no lugar do código onde atualmente você cria o FileReader.

public String lerArquivo() throws ClassNotFoundException, SQLException {
    String resource = "/lista_todos_os_bancos_de_dados_com_informacoes_detalhadas_sobre_o_espaco_usado.sql";
    InputStream arquivo = getClass().getResourceAsStream(resource);
    String query = IOUtils.toString(arquivo);
    return query;
}
vpmaciel1981

valeu

Criado 3 de setembro de 2020
Ultima resposta 3 de set. de 2020
Respostas 4
Participantes 2