Properties +SerialPort

Status
Nicht offen für weitere Antworten.

eisenhauer

Mitglied
Hallo

Habe ein Frage: Verwende zur Speicherung von Übertragungsparamtern der seriellen Schnittstelle Properties.

Mir ist prinzipiell klar wie ich damit umgehe, funktioniert auch - zumindest mit int Werten oder Strings.

Das Problem ist jetzt aber auch eine Variable vom Datentyp SerialPort in den Properties zu speichern. Ich weiß nicht wie ich in der getter Methode den Properties-Eintrag in SerialPort casten kann.


Kann mir hier jemand weiterhelfen?
danke, martin
 

sayang

Aktives Mitglied
Also ohne weitere Informationen, vor allem Auszüge aus deinem Code, wird dir hier wohl niemand helfen können.
Wie sieht die Klasse SerialPort aus?

Lg
sayang
 

eisenhauer

Mitglied
Halo,

Also meine Klasse Properties hat den neben den Funktione Store und Load, zu jedem Property diese Getter und Setter Mehoden:
Hier zur Speicherung eines Intwertes.

Java:
public void setComNr(int comNr) 
 {      setProperty("Geweahlte Com Nummer",""+comNr);             }

 public int getComNr() 
 {      return Integer.parseInt(getProperty("Geweahlte Com Nummer","4"));   }

Code:
rialPort ist eine von CommPort abgeleitete Klasse so wie auch ParallelPort. 
Die wichtigsten Methoden von CommPort sind getInputStream und getOutputStream.
-> Handbuch der Java-Programmierung
 

sayang

Aktives Mitglied
Hmm.

Da Properties ja nur Strings für Key und Value aufnimmt, wird es mit einem "komplexen" Datentyp, wie SerialPort es zu sein scheint wohl schwierig. Aber Properties leitet ja von Hashtable ab. Hashtable kann wiederum mit Objects als Key und Value umgehen.
So kannst du sowohl die Werte, die du als String in die Properties packen würdes auch in eine Hashtable packen. Zudem kannst du aber auch eine Instanz von SerialPort in die Hashtable packen. Diese musst du dann später, wenn du die Werte mit Hashtable.get(Object key) holst, explizit nach SerialPort casten.

Beispiel:
Java:
Hashtable<Object, Object> meineProperties = new Hashtable<Object, Object>();
meineProperties.put("Username", "sayang");
meineProperties.put("Portnummer", new Integer(8888));
meineProperties.put("Serialport", new SerialPort()); // oder statt new SerialPort() einfach deine Instanz von SerialPort

... // später beim Auslesen

String username = (String)meineProperties.get("Username");
int portnummer = ((Integer)meineProperties.get("Portnummer")).intValue();
SerialPort sPort = (SerialPort)meineProperties.get("Serialport");

Lg
sayang
 

eisenhauer

Mitglied
Hallo,

hat ein bisschen gedauert aber hab das inzwischen ausprobiert.

Das Ergebnis was leider nicht so gut: Es scheitert am Casten - folgende Fehlermeldung:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to javax.comm.SerialPort

dazu mein Code der PropertiesClasse


Java:
public class RS232PropertiesHash extends Hashtable
{
    private static RS232PropertiesHash theInstance = null;
    static Hashtable<Object, Object> meineProperties;

    public RS232PropertiesHash() {    }

    public static RS232PropertiesHash getInstance()
    {
        if (theInstance==null)
        {
          theInstance = new RS232PropertiesHash();
          meineProperties = new Hashtable<Object, Object>();
        }
        return theInstance;
    }

     public void setPort(SerialPort port)     {
            meineProperties.put("Serial Port",""+port);
     }
     public SerialPort getPort()     {
         return  (SerialPort) meineProperties.get("Serial Port");
     }

}


Vielleicht könnt ihr mir weiter helfen,

danke schon jetzt

martin
 

sayang

Aktives Mitglied
Java:
public void setPort(SerialPort port)     {
    meineProperties.put("Serial Port",""+port);
}

Wenn du ""+port schreibst, dann wird ein String erzeugt, der aus einem leeren String ("") plus dem, was die toString-Methode von SerialPort zurückgibt, besteht. Du schreibst in diesem Moment also kein SerialPort-Objekt in die Hashtable, sondern ein String-Objekt. Ergo ist das spätere Casten auf SerialPort nicht mehr möglich.
Nimm das ""+ mal da raus.

Lg
sayang
 

eisenhauer

Mitglied
Ohne + geht gar nicht. Wenn ich dann dann nur

Java:
 meineProperties.put("Serial Port",port);

lässt er das zwar im ersten Moment durchgehen, danach kommt aber wieder eine Fehlermeldung:

Fehler: Fehler beim Uebernehemen der Einstellungen: null
 

sayang

Aktives Mitglied
Morgähn,

Naja, ohne das ""+ hast du jedenfalls ein SerialPort-Objekt in deiner Hashtable gespeichert und keinen String.
Der Fehler ist dann wohl was, das speziell mit dieser Klasse zu tun hat... und von SerialPort hab ich wiederum null Ahnung :)
Ich weiss ja nicht, was alles benötigt wird, um ein SerialPort-Objekt zu erzeugen, hab auch grad keine Lust (ist noch so früh^^), aber du könntest auch mal versuchen, die Attribute einzeln - wenn es nicht zu viele sind - zu speichern und später mit diesen ein neues SerialPort-Objekt zu konstruieren... Ob das Sinn macht, weiss ich nicht - kenne dein Programm nicht.

lg
sayang
 

eisenhauer

Mitglied
hallo,

ja danke nochmal für deine Hilfe, hab auch noch ein wenig herumprobiert, komma aber ebenfalls auf keinen grünen Zweig
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Ein paar Fragen zu .properties und .css Allgemeine Java-Themen 6
S Test mit Werten aus der .properties Allgemeine Java-Themen 4
S class path resource [config.properties}] cannot be opened because it does not exist Allgemeine Java-Themen 4
ralfb1105 Classpath Directory fuer Properties File Allgemeine Java-Themen 2
K Properties serializable machen Allgemeine Java-Themen 6
KeVoZ_ Properties mit String auslesen Allgemeine Java-Themen 11
thet1983 Input/Output read properties file from classpath Allgemeine Java-Themen 3
Baldur BeanInfo für Properties-UI? Allgemeine Java-Themen 1
J Properties file ändern Allgemeine Java-Themen 12
B Objekte anhand von Properties file Allgemeine Java-Themen 41
W Input/Output Kann .properties Datei in kompilierter .jar nicht ändern Allgemeine Java-Themen 2
Thallius Speicherverhalten von Properties und mehreren Threads Allgemeine Java-Themen 5
T [log4j] Wie nutzt man log4j.properties? Allgemeine Java-Themen 7
I Best Practice Properties auslesen und splitten (RegExp?) Allgemeine Java-Themen 0
OnDemand Lesen aus Properties Allgemeine Java-Themen 7
D JAVA - Properties Datei mit Userdaten Allgemeine Java-Themen 7
M StripesResources.properties Allgemeine Java-Themen 2
GUI-Programmer Mehr als Properties Allgemeine Java-Themen 6
C Dynamisches und sortiertes Auslesen von Properties Allgemeine Java-Themen 2
Mr. Pink Erste Schritte Checkstyle.properties Allgemeine Java-Themen 3
B Properties File Liste Allgemeine Java-Themen 3
X Probleme mit meinem Properties Allgemeine Java-Themen 9
T Wahrscheinlich Problem mit log4j.properties Allgemeine Java-Themen 19
D Properties Datei, Eingabequelle Allgemeine Java-Themen 6
S Stilfrage bezüglich Beans mit Collection-Properties Allgemeine Java-Themen 2
C JAR, Pfad und Properties Allgemeine Java-Themen 17
R Properties Datei aus Applikationsverzeichnis lesen Allgemeine Java-Themen 5
T Properties Datei nicht jedes mal neu schreiben? Allgemeine Java-Themen 2
reibi Separator in java.util.Properties-Files Allgemeine Java-Themen 3
K Serialisierung in Properties-Datei möglich? Allgemeine Java-Themen 3
M Probleme mit UTF-8 und properties Allgemeine Java-Themen 6
C log4j.properties wird nicht verwendet?? Allgemeine Java-Themen 3
T Properties Datei nicht löschbar Allgemeine Java-Themen 8
S Properties binden Allgemeine Java-Themen 2
nrg Knotenpunkte in Properties Allgemeine Java-Themen 9
U Properties in Jar Files Allgemeine Java-Themen 3
S Properties-Dateien anwenden Allgemeine Java-Themen 8
G Alternative zu .properties Dateien Allgemeine Java-Themen 20
nabla Gutes einlesen von Konfigurationsdateien (Properties?) Allgemeine Java-Themen 11
H Java Properties Allgemeine Java-Themen 5
A kann nicht auf properties außerhalb jar zugreifen Allgemeine Java-Themen 3
T CP Problem: Webstart + Logging properties file + eigener Handler Allgemeine Java-Themen 7
Y Properties verwalten! Allgemeine Java-Themen 3
G externe Properties datei aus Jar File heraus lesen Allgemeine Java-Themen 12
M Databinding von Object zu properties-Datei Allgemeine Java-Themen 10
F Properties verschlüsselt speichern Allgemeine Java-Themen 5
W Properties-Klasse: mehrere Parameter-Belegungen übergeben? Allgemeine Java-Themen 2
K settings.properties in den src-ordner schreiben Allgemeine Java-Themen 2
J Wo werden die System properties gespeichert Allgemeine Java-Themen 12
DEvent log4j, commons logging, log4j.properties and co Allgemeine Java-Themen 12
D Ordner mit *.properties in classpath ? Allgemeine Java-Themen 5
P Encoding-Probleme bei Properties-Dateien Allgemeine Java-Themen 5
A Hardware Properties auslesen Allgemeine Java-Themen 10
P Properties liest nicht alles aus Datei aus Allgemeine Java-Themen 17
J Properties sortieren Allgemeine Java-Themen 6
I Properties.contains("Hell*orld"); Allgemeine Java-Themen 14
G Probleme beim Sichern von Properties Allgemeine Java-Themen 2
N Java Properties Allgemeine Java-Themen 14
L "globale" properties Datei Allgemeine Java-Themen 4
V Properties Key als String mit =? Allgemeine Java-Themen 3
G Beans und transiente Properties Allgemeine Java-Themen 4
MQue properties- Datei Allgemeine Java-Themen 2
M Pattern aus Properties Allgemeine Java-Themen 3
R Problem bei schreiben von properties Allgemeine Java-Themen 6
R Properties Datei ändern Allgemeine Java-Themen 4
P log4j: Übersicht der Properties Allgemeine Java-Themen 5
R Properties dateien in Jar beschreiben Allgemeine Java-Themen 2
L properties auslesen funktioniert nicht(java.util.Properties) Allgemeine Java-Themen 3
G properties datei aktualisieren Allgemeine Java-Themen 4
J Properties editieren. Allgemeine Java-Themen 10
V log4j.properties wird in der jar Datei nicht gefunden? Allgemeine Java-Themen 2
V INI Files, Properties etc. Allgemeine Java-Themen 7
K Cast von Properties und Hashmap Allgemeine Java-Themen 9
A Mehrzeiligen Eintrag in Ressourcebundle (.properties-Datei) Allgemeine Java-Themen 8
B Wohin mit log4j.properties Allgemeine Java-Themen 2
B MannoMann Properties Allgemeine Java-Themen 12
G Properties Datei verschlüsseln. WIE? Allgemeine Java-Themen 6
G Einzelne Keys aus Properties-Datei auslesen Allgemeine Java-Themen 4
S Zugriff auf Properties-Datei Allgemeine Java-Themen 10
J ResourceBundle / properties-datei während der Laufzeit verän Allgemeine Java-Themen 6
T SerialPort in c in Java umsetzen Allgemeine Java-Themen 2
L Software-Design: Kommunikation mit SerialPort (RXTX) Allgemeine Java-Themen 2
R SerialPort auslesen und Daten verarbeiten Allgemeine Java-Themen 23
B SerialPort Kommunikation - Pufferüberlauf Allgemeine Java-Themen 6
M SerialPort RS232 : java.lang.NoSuchFieldError: eis Allgemeine Java-Themen 2
N SerialPort Programm Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben