question

Como posso ler um arquivo. txt de dentro um.JAR em Java?

Eu sou um estudante de programação (nível colegial tomar algumas aulas de faculdade/AP no assunto) e como um projeto paralelo aleatório, eu tenho tentado programar um gerador de Shakespearean insulto. O programa usa três arquivos diferentes. txt que contém uma lista dos elementos da Cadeia de caracteres final, e eu possa acessá-los muito bem através de um scanner; no entanto, quando eu tiver meu IDE (blueJ. Não julgue lol. Eu não sou tão experiente e é agradável e simples) criar um. jar para o programa. Eu vim a entender que "Scanner <name>= novo Scanner (novo arquivo ("<file>"));" não é suficiente para acessá-lo de dentro de seu JAR, porém bastante não consigo descobrir qual código/metodologia para usar no lugar do que. Antes que você pergunte, sim, I've GOOGLED-lo; no entanto, que veio com vários métodos. Todos estavam quase completamente diferentes, e todos eles não funcionam corretamente e/ou estão além da minha esfera de entendimento.

Eu queria saber se alguém poderia A) explicar, de maneira simplificada e direta, como carregar o arquivo de forma que irá trabalhar independentemente se ele estiver em um. jar ou não ou B) me dar um link que faz isso. Lembre-se por favor que, sendo um iniciante em programação, não sei muitos termos quando se trata de arquivo IO; Eu nunca tinha visto os leitores em buffer ou fluxos de entrada até que eu comecei a olhar as coisas até ver como fazer este programa de trabalho. EDIT: O erro é apenas uma exceção FileNotFound regular. O IDE eu uso coloca todos os arquivos necessários em um. jar; Assim, código do programa é no arquivamento como são arquivos de texto. Meu problema é que por algum motivo não pode acessar os arquivos txt, mesmo que eles estão no mesmo. jar com o código. Por que isso acontece, eu não entendo. Gostaria de pensar que se trabalha fora de um arquivo que ele iria trabalhar o mesmo, mas por alguma razão que ele lança um FileNotFoundException (ou assim que eu supor,) que aciona minha captura para FileNotFoundExceptiosn.</file></name>
resposta Resposta
Se ele está dentro de um frasco, você não pode abri-lo como um arquivo no sistema de arquivos porque ele não existe como um arquivo no sistema de arquivos. Você precisa para abri-lo como um recurso no classpath.

/ / Isso retorna um objeto java.net.URL que pode ser usado para acessar o arquivo.

isso. getClass(). getResource("file.txt");

/ / Retorna um java.io.InputStream que podem ser usados para lê-lo diretamente.

isso. getClass(). getResourceAsStream("file.txt");



Se o arquivo estiver dentro de uma pasta dentro do frasco, em seguida, inclua a pasta. Por exemplo:

isso. getClass(). getResourceAsStream("data/file.txt");

ComentáriosComentários

Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved