Pfadangabe bei Applets

Status
Nicht offen für weitere Antworten.

Heiko80

Mitglied
Hallo,

ich verzweifel langsam, kann mir irgend jemand sagen, wie ich einen Pfad bei einem Applet angebe.

Die Datei XY liegt im Ordner src/Daten/XY.txt
Die Programmpakete im Ordner src

filname habe ich Folgendermassen angegeben:
Code:
String fileName = ".src/Daten/XY.txt";
fin = new FileInputStream(fileName);
Als Anwendung funktioniert das ganze, als Applet wird die Datei leider nicht gefunden.

Ich weiß das man z.B. bei Bildern den Pfad mithilfe von
Code:
getClass().getResource("/icon/cut.gif")

angibt.
Das ist bei einem InputStream aber nicht möglich.

Welche alternativen gibt es da ???



MfG Marcus
 
Hmm,

funktioniert auch nicht.
Ich habs jetzt mal mit


Code:
fin = (FileInputStream) getClass().getResourceAsStream( "\\database\\text.txt");

versucht, aber aucgh das funzt nicht. Ich werd bald verückt, die Bilder werden alle angezeigt, nur die blöde Textdatei nicht.
Hat vielleicht noch jemand eine ander Idee??



MfG Heiko
 
Hast du dir mal meinen ersten Post angesehen?
Und guck mal in die Java-Konsole deines Browsers. Eventuell findet sich ja dort eine Begründung für dein Problem.
 
Hallo L-ectron-X,

da haben wir uns knapp verpasst.
Ih hatte getCodeBAse() schon vorher ausprobiert, da aber immer als Fehlermeldung eine Nullpointer exception geworfen wurde, dachte ich das wär der falsche Ansatz.
Ich habs jetzt wiederholt versucht aber immer die gleiche fehlermeldung.
Ich komm da nicht weiter.

Also hier grob das Vorgehen:

Code:
Klasse KlapptNicht extends Applet
{

public void init()
    {
        this.appletInit();
    }

  .
  .
  .
  .

  public void showStateInfo(String key)
{
        String string = "";
        if (data == null)
        {
            try
            {
                URL u = getCodeBase();
            }
            catch (Exception e)
            {
                System.out.println("Exception");
            }

            FILENAME[0] = u + "/database/StateInfo.txt";
            data = new Database(FILENAME, KEYHASHMAP);

        }
        string = data.getElement(key, "StateInfo");

        if (!string.equals("null"))
        {
            automat.addText(string);
        }
}
}

Ich weiss überhaupt nicht wodran es liegen soll??


MfG Heiko
 
Hallo,


die Fehlermeldung lautet:


Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at java.applet.Applet.getCodeBase(Unknown Source)


MfG Heiko
 
Sieht so aus, als ob er den Text nicht finden kann.
Im Moment lässt du den Interpreter ausgehend vom Verzeichnis der Applet-Klasse im Unterverzeichnis database nach einer Textdatei StateInfo.txt suchen. Sieht das real auch so aus? Wahrscheinlich hast du einen Slash zu viel.
Du kannst mal versuchen, die Textdatei direkt ins Verzeichnis des Applets zu legen und dann nur noch mit
Code:
URL url = getCodeBase()+"StateInfo.txt";
versuchen die Datei zu laden.
 
Hallo,

ich hab das Problem gefunden.

Und zwar hab ich das Applet zum testen immer über JBuilder gestartet.

Wenn ich das ganze über einen Browser ausführe, dann gehts.


Da bleibt dann nur noch eine Frage, warum wird die Datei nicht gefunden, wenn sich das Applet z.B. unter
C:/DokumenteUndEinstellungen/EigeneDateien/Applet/database/StateInfo.txt befindet?

Soweit ich das verstehe, hat das irgendwas mit DokumenteUndEinstellungen zu tuen, lass ich mir nämlich
den Pfad ausgeben, wird ... Dokumente%20und%20Einstellungen/... ausgegeben.


Bis dahin schon mal vielen Dank für die Hilfe


MfG Heiko
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben