Jak odczytać plik tekstowy w JAR? [duplikować]

To pytanie ma już tutaj odpowiedź:

Zasób Java jako plik 6 odpowiedzi

Próbuję przechowywać plik tekstowy (który się nie zmieni) wewnątrz JAR programu, aby można go było odczytać. Celem pliku tekstowego jest odczytanie go przez jedną z moich klas, a zawartość pliku tekstowego zostanie dodana doJEditorPane. Plik będzie w zasadzie samouczkiem, a gdy użytkownik kliknie opcję czytania samouczka, zawartość pliku zostanie odczytana i wyświetlona w nowym oknie, które się pojawi.

Mam część GUI w dół, ale jeśli chodzi o przechowywanie pliku w JAR, aby można było uzyskać do niego dostęp, jestem w stanie stracić. Czytałem to za pomocąInputStream będzie działać, ale po wypróbowaniu kilku rzeczy nie udało mi się jeszcze go uruchomić.

Przechowuję również obrazy w JAR, które mają być używane jako ikony dla okien GUI. Jest to realizowane za pomocą:

private Image icon = new ImageIcon(getClass()
    .getResource("resources/cricket.jpg")).getImage();

Ale to nie działa, gdy próbujesz uzyskać plik:

private File file = new File(getClass.getResource("resources/howto.txt"));

Oto moja klasa, która jest teraz:

public class HowToScreen extends JFrame{

/**
 * 
 */
private static final long serialVersionUID = -3760362453964229085L;
private JEditorPane howtoScreen = new JEditorPane("text/html", "");
private Image icon = new ImageIcon(getClass().getResource("resources/cricket.jpg")).getImage();
private BufferedReader txtReader = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("/resources/howto.txt")));

public HowToScreen(){
    setSize(400,300);
    setLocation(500,200);
    setTitle("Daily Text Tutorial");
    setIconImage(icon);

    howtoScreen.setEditable(false);
    howtoScreen.setText(importFileStream());
    add(howtoScreen);
    setVisible(true);
}

public String importFile(){
    String text = "";
    File file = new File("howto.txt");
    Scanner in = null;

    try {
        in = new Scanner(file);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

    while(in.hasNext()){
        text += in.nextLine();
    }

    in.close();
    return text;
}

public String importFileStream(){
    String text = "";
    Scanner in = new Scanner(txtReader);

    while(in.hasNext()){
        text += in.nextLine();
    }

    in.close();
    return text;
}
}

ZignorujimportFile metoda jako taka jest usuwana na rzecz przechowywania pliku samouczka wewnątrz JAR, dzięki czemu program jest całkowicie samowystarczalny, ponieważ jestem ograniczony do tego, ile miejsca może używać program.

EDYCJA: Po wypróbowaniu wszystkich poniższych sugestii sprawdziłem, czy mój plik JAR pakuje w nim plik tekstowy i tak nie jest. Podczas otwierania pliku JAR za pomocą 7zip, w folderze moich zasobów znajduje się obraz, którego używam dla ikon, ale nie plik tekstowy.

questionAnswers(4)

yourAnswerToTheQuestion