# 2 kleine Probleme (Datei lesen, String durchsuchen)



## Cloud (12. Nov 2008)

Hi,

habe da 2 kleine Probleme:

1.) Ich lese mit meinem Midlet eine Datei ein. Mit dem Emulator funktioniert dies auch ohne Probleme. Nur auf meinem Handy komm dann immer "Fehler in der Anwendung". Muss ich dem Midlet irgendwie noch bestimmte Rechte in der JAD Datei geben oder woran kann das liegen?

2.) Wie kann ich ein Elemet eines Vectors (eigentlich ist es nur ein String) nach bestimmen Wörtern druchsuchen?
"contains" und "matches" gibt es beim Midlet ja irgendwie nicht... 

Danke


----------



## The_S (13. Nov 2008)

1.) Wenn dein Handy den Dateizugriff nicht unterstützt, dann gehts auch nicht

2.) indexOf!?


----------



## CLoud (13. Nov 2008)

Warum sollte mein Handy das nicht untersützen?

Wie soll ich mit IndexOF nach einen Wort suchen?


----------



## The_S (13. Nov 2008)

Weil nicht jedes Handy das Unterstützt.

Indem du den Rückgabewert von indexOf auswertest.


----------



## Cloud (13. Nov 2008)

Glaube schon das mein W880i eine Datei aus dem JAR File lesen kann, oder?! Nur wie?!

Und danke 
Das mit dem IndexOf klappt ganz gut...


----------



## The_S (13. Nov 2008)

Moment, es ist ein Unterschied, ob die Datei außerhalb oder im JAR liegt. Ich bin bis jetzt davon ausgegangen, dass die Datei außerhalb des JARs liegt. Wo liegt die Datei? Und wie liest du die Datei ein?


----------



## Cloud (13. Nov 2008)

Achso, sorry...
Die liegt im JAR in einem Ordner "file"...

Mit 

InputStream in = new BufferedInputStream(getClass().getRessourceAsStream("/file(test.xml"));

lese ich diese ein...


----------



## The_S (13. Nov 2008)

Ich glaube nicht, dass die Datei so heißt "/file(test.xml"


----------



## Cloud (13. Nov 2008)

War nur ein Tippfehler, im Programm ist es richtig:

InputStream in = new BufferedInputStream(getClass().getRessourceAsStream("/file/test.xml")); 

Wie gesagt, im Emulator geht es ja...


----------



## The_S (13. Nov 2008)

Dann fange doch mal alles ab, was geworfen werden kann (catch (Throwable thr)) und gebe den StackTrace in deinem Programm aus. Das sollte helfen.


----------



## Cloud (13. Nov 2008)

Wie und Wo genau muss ich das hinschreiben?


----------



## The_S (13. Nov 2008)

Was: http://www.java-blog-buch.de/0502-fehlerbehandlung/
Wo: Da wo der Fehler eintritt
Wie: So, dass der Fehler auf der GUI ausgegeben wird


----------



## Cloud (13. Nov 2008)

Habe nun, da wo das File eingelesen wird:

try{
    gefile();
}
catch (Throwable e){
  e.printlnStackTrace();
}

Sollte so richtig sein oder?
Er zeigt mir aber immer noch den selben Fehler an...


----------



## The_S (13. Nov 2008)

Wenn er immer noch den selben Fehler anzeigt, dann liegt der Fehler wohl wo anders. Außerdem gibst du mit Throwable.printStackTrace() nur den Fehler auf der Konsole aus, welche du auf deinem Handy wohl nicht benutzen kannst. Du solltest über getStackTrace dir den StackTrace als String geben lassen, und diesen dann auf deiner Form/Canvas darstellen.


----------



## Cloud (13. Nov 2008)

Ach verdammt, bekomme das nicht hin :-(


----------



## cloud (13. Nov 2008)

Habe den Fehler gefunden:

Mit DataInputStream geht es  

DANKEE


----------



## The_S (13. Nov 2008)

gut, schön dass es trotzdem funktioniert hat  .


----------

