1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
10
10
ZUGRIFFE
1105
1105
EMPFEHLEN
-
07.04.12 13:56 #1
Rookie
- Registriert seit
- Mar 2012
- Beiträge
- 7
Hi Leute,
ich habe ein kleines Problem und wäre um eure Hilfe sehr dankbar.
Mein Programm soll aufgrund der in einer txt-Datei gespeicherten Wörter eine Liste erstellen -bis hierher funktioniert es - und durch auswählen eines Elementes eine neue Liste aus einer 2. txt-Datei erstellen, wobei der Name der 2. txt-Datei der des ausgewählten Elements ist.
Das Problem ist jedoch, dass zwar der Text des ausgewählten Elementes als String ausgegeben und verglichen werden kann, jedoch sobald es als Pfad verwendet wird, nicht mehr funktioniert.
Würde mich freuen, wenn mir jemand weiterhelfen kann. Vielen Dank
Falls jemand genauere Angaben braucht einfach fragen.
Flo
P.S. Hier unten ist mein Quellcode.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
import java.io.*; import javax.microedition.midlet.MIDlet; import javax.microedition.lcdui.*; public class Sportapp extends MIDlet implements CommandListener { private Display display; private List Liste; private String name; public Sportapp() { display = Display.getDisplay(this); } public void startApp() { loadlist("Auswahl"); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command command, Displayable displayable){ if (command == List.SELECT_COMMAND) { loadlist(Liste.getString(Liste.getSelectedIndex())); } } public void loadlist(String name){ DataInputStream dis = new DataInputStream(getClass().getResourceAsStream("/"+name+".txt")); StringBuffer sb = new StringBuffer(); Liste = new List(name, List.IMPLICIT); Liste.setCommandListener(this); int i=0 ; try{ while ((i = dis.read()) > -1) { char ch = (char)i; if (ch == '\n') { Liste.append(sb.toString(),null); sb.delete(0,sb.length()); } else sb.append(ch); } dis.close(); } catch (IOException e) { } display.setCurrent(Liste); } }Geändert von Flopro (19.04.12 um 19:31 Uhr)
-
10.04.12 11:20 #2
Mitglied
- Registriert seit
- Apr 2012
- Beiträge
- 19
Hi Flopro,
hast du dir mal den Pfad ausgeben lassen? Vielleicht wird der Pfad nicht richtig zusammen gebaut.
Was auch noch sein kann ist, dass im String name ein Leerzeichen steht also hinter dem Element.
-
11.04.12 16:58 #3
Rookie
- Registriert seit
- Mar 2012
- Beiträge
- 7
Hi cc1990,
vielen Dank, dass du mich darauf aufmerksam gemacht hast, dass es an tippfehlern in meiner txt-Datei liegen könnte. Jedoch waren dort keine Fehler und wenn ich mir die Zusammensetzung als String ausgeben lasse, erhalte ich den richtigen pfad.
Also leider keine Lösung des Problems.
-
19.04.12 19:30 #4
Rookie
- Registriert seit
- Mar 2012
- Beiträge
- 7
Hi Leute,
ich habe mich nochmals mit dem Vergleich, welchen ich oben beschrieben habe auseinander gesetzt. Auch diesen bringe ich nicht mehr zustande. D.h., dass wenn ich den Text, aus der Liste mir ausgeben lasse und vergleiche mit dem was zu sehen ist, dann behauptet Java, dass dies unterschiedlich sei, obwohl für das Auge das selbe dasteht.
Gruß Flo
-
19.04.12 23:40 #5
Mitglied Smaragd
- Registriert seit
- Jun 2009
- Beiträge
- 1.020
Vergleichst du mit '==' ? Das vergleicht nur Referenzen, d.h. ist nur true, wenn beide Referenzen auf das gleiche Objekt weisen. Generell ist meistens .equals() besser, dazu muss aber die .equals-Methode in den Klassen des Objekts überschrieben sein.
Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.Code java:1
System.out.println("Hallo");
-
20.04.12 15:55 #6
Rookie
- Registriert seit
- Mar 2012
- Beiträge
- 7
Ich mache das mit ".equals". also sollte es funktionieren.
Aber vielen Dank für die Erinnerung, da es bei mir hieran schon öfters gescheitert ist.
Hier meine überschriebene CommandAction, mit der ich den Vergleich ausführe:
Code :1 2 3 4 5 6
public void commandAction(Command command, Displayable displayable){ if (Liste.getString(Liste.getSelectedIndex()).equals("Blau")) { Alert alert =new Alert(Liste.getString(Liste.getSelectedIndex())); display.setCurrent(alert); } }
-
20.04.12 17:32 #7
Mitglied Smaragd
- Registriert seit
- Jun 2009
- Beiträge
- 1.020
was macht .getString()? Wie wäre es mit einer Methode .getSelectedValue() oder .getSelectedString()?
Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.Code java:1
System.out.println("Hallo");
-
22.04.12 18:18 #8
Rookie
- Registriert seit
- Mar 2012
- Beiträge
- 7
Beide Methoden die du vorgeschlagen hast, stehen mir nicht zur Verfügung und ich kann sie auch nicht finden.
Ich habe ja nur die Klassen von Java ME: http://java.sun.com/javame/reference...118/index.html
Gruß
Flo
-
30.04.12 11:51 #9
Mitglied Gold
- Registriert seit
- Feb 2012
- Beiträge
- 107
Ist zwar nicht ganz so schön, aber wenn du es mit nem String und nem Filereader machst müsste das ganze Funktionieren, wenn ich Zeit hab schreib ich den Code nacher noch zusammen und poste ihn.
-
30.04.12 18:25 #10
Rookie
- Registriert seit
- Mar 2012
- Beiträge
- 7
Servus Funresort.
Wenn deine Variante funktioniert, dann wäre das echt stark, dann müsste ich nur die entsprechenden io-Klassen aus Java SE in mein Java ME Projekt kopieren, dann müsste Java ME auch damit umgehen können.
Wäre sehr cool, wenn du mir den Code schicken könntest, dann müsste ich mich nicht so lange mit den unbekannten Klassen auseinandersetzen.
Flo
-
10.05.12 13:09 #11
Mitglied Gold
- Registriert seit
- Feb 2012
- Beiträge
- 107
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.util.ArrayList; class Test { ArrayList<String> stringList; public Test(String s) { try { stringList = new ArrayList<String>(); File file = new File(s); BufferedReader reader = new BufferedReader(new FileReader(file)); String read = null; while ((read = reader.readLine()) != null) { stringList.add(read); } } catch (Exception e) { e.printStackTrace(); } } public ArrayList<String> getList() { return stringList; } }
Du musst die ArrayList nur auslesen und in deine Liste schmeißen, müsste klappen.Code java:1 2
System.out.println("Smile in the way and you have a nice day!");
Ähnliche Themen
-
Datei in Java öffnen...
Von Jellysheep im Forum JavaAntworten: 8Letzter Beitrag: 17.02.09, 09:25 -
Anfänger Problem- Java Eingabe durch Datei
Von Fraenzchen im Forum JavaAntworten: 9Letzter Beitrag: 12.03.08, 03:00 -
Excel-Datei nur öffnen, wenn nicht durch anderen Benutzer in Bearbeitung
Von Don Philippo im Forum .NET DatenverwaltungAntworten: 8Letzter Beitrag: 24.08.07, 22:26 -
über div eine neue datei öffnen mit css
Von seecha im Forum CSSAntworten: 1Letzter Beitrag: 24.04.05, 18:25 -
jar datei durch java auslesen
Von Serethos im Forum JavaAntworten: 2Letzter Beitrag: 26.02.05, 02:07




Zitieren
Login