Ao carregar recursos, se um aplicativo for executado a partir de um IDE, o caminho para o recurso pode ser diferente de quando executado a partir de um arquivo jar. Isso pode causar problemas se o aplicativo depender do caminho de arquivo específico.
Uma maneira de resolver esse problema é usar getResourceAsStream em vez de getResource. getResourceAsStream retorna um InputStream, que pode ser usado para ler os dados do recurso sem ter que lidar com o caminho do arquivo.
Outra opção é extrair o recurso para um arquivo temporário antes de usá-lo. Isso pode ser feito usando o método Files.copy.
No entanto, é importante observar que alguns códigos podem depender de os dados estarem em um único arquivo físico no sistema de arquivos. Nesse caso, agrupar o recurso em um arquivo jar pode não ser uma opção.
Amostra de código:
InputStream inputStream = WinProcessor.class.getResourceAsStream("repository"); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String line; while ((line = reader.readLine()) != null) { // Do something with the line } reader.close();
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3