Archiv für die ‘Java’ Kategorie

Java und die serielle Schnittstelle

20 September 2006

Die serielle Schnittstelle ist seit 1998 tot. Zumindest für Sun. So alt sind nämlich die Dateien in der letzten Java Communications API für Windows. Zumindest habe ich keine neueren gefunden und Aussagen in diversen Foren und Newsbeiträgen geben keine große Hoffnung, hier noch fündig zu werden. Doch worum geht es eigentlich?

Ich habe da ein Modem. Kein gewöhnliches, sondern ein spezielles, welches für die Übermittlung von elektronischen Bestellungen optimiert wurde. Untergebracht in einem “formschönen Kunststoffgehäuse”, so die Beschreibung, und angeschlossen über die serielle Schnittstelle, gilt es nun das Modem mit Hilfe eines Stückes Software für den praktischen Einsatz nutzbar zu machen. Praktischer Einsatz heißt, es werden Bestelldaten generiert, eine Verbindung auf- und Nachrichten ausgetauscht, Dateien übertragen, “okay” gegeben und “tschüss” gesagt. Und das alles idealerweise mit Java. Ja, war so meine Intention.

Nach erstem Googeln landete ich also bei der Java Comm Api. Der Versuch mit jener eine Kommunikation mit dem Modem aufzubauen scheiterte bereits daran, dass in meinem Testprogramm die Ausgabeschleife der zur Verfügung stehenden COM-Ports übersprungen wurde. Der Grund: Es wurden keine gefunden. Ohne gefundene Ports, keine Kommunikation über sie. Also unbrauchbar.

Durch verschärftes Googeln bin ich dann auf eine andere Bibliothek gestoßen, RXTX. Ein dank des RXTX-Wikis schnell zusammengestelltes Testprogramm brachte die LEDs des Modems spontan zum Leuchten und das Lämpchen für den Datenempang nach Eingabe von Buchstaben zum Blinken. Sie funktioniert also, die Bibliothek. Jetzt muss nur noch das Programm drummherum geschrieben werden. Nur noch! ;)

Hilfreiche Java Mini-FAQ

31 Mai 2006

Über diese Java Mini-FAQ bin ich heute gestolpert. Gerade der Bereich IO/HTML-Parser hat mich spontan angesprochen…

Java-Tipp: Mit Excel-Dateien jonglieren

20 April 2006

Auf der Suche den etwas fehleranfälligen Weg über csv-Dateien beim Austausch von Daten zwischen Java und Excel zu umgehen, man weiß nie, ob das eingesetzte Trennzeichen nicht auch einmal im Text vorkommt, bin ich auf die Jakarta POI gestoßen, eine Java API, um Microsoft-Dokumente zu verarbeiten. Über die API ist es möglich Excel-Dateien sowohl zu lesen als auch zu schreiben. Dabei ist das Ganze durchweg einfach gehalten, für erste Erfolge braucht man sich nicht erst stundenlang einzulesen, ein kurzer Blick in das umfangreiche Beispiel auf der Seite genügt.

Dateien umkodieren

31 März 2006

Noch weiß ich nicht ob bzw. wann ich das gebrauchen könnte, aber besser einmal mehr festgehalten, als einmal zuwenig:

Sollen Dateien umkodiert werden, kann dafür das Konsolenprogramm native2ascii verwendet werden. native2ascii ist, wie ein locate native2ascii (Ergebnis u.a.: /System/Library/Frameworks/JavaVM. framework/Versions/1.5.0/Commands/native2ascii) zeigt, bereits auf dem Mac vorhanden und kann direkt in der Konsole aufgerufen werden. Das sieht dann beispielsweise so aus:

native2ascii -encoding Cp273 input.txt output.txt

Genaueres über native2ascii ist bei Sun zu finden. Hier die Liste mit den unterstützten Encodings. (Gefunden in: Java ist auch eine Insel 5, Kapitel 4.6 Zeichenkodierungen)

Nochmal Java und XML

17 Januar 2006

Java und XML war gestern bereits Thema hier im Blog. Heute noch ein Nachschlag. Wie auf der gestern empfohlenen Seite bereits angesprochen wird, bietet die Castor API einen Source Generator. Übergibt man diesem eine XML-Schema-Definition (XSD-Datei), so erstellt er automatisch entsprechende Java-Objekte (Klassen), die im Anschluss wiederum direkt verwendet werden können, um XML-Dateien auf Basis des verwendeten XML-Schemas zu lesen/schreiben. Der Source Generator vereinfacht die Arbeit also ungemein, weil man sich eben gerade nicht die Arbeit machen muss den Code der Java-Klassen, welche die Daten der XML-Dateien aufnehmen sollen, auszuprogrammieren.

Schön für den, der XSD-Dateien vorliegen hat. Und was, wenn nur eine XML-Datei vorhanden ist? Kein Problem. Auf der Suche nach einem XML-Editor bin ich auf oXygen gestoßen (leider keine FreeWare, eine »30-day evaluation license« kann beim Starten des Editors beantragt werden, sie kommt per E-Mail, die Home-Edition kostet ca. 48$, die Professional-Edition ca. 180$). Natürlich rund um ein mächtiges Programm, jedoch ist mir der »Trang Converter«, zu finden im Menü »Werkzeuge«, eben besonders positiv aufgefallen, denn dieser erstellt zu einer XML-Datei eine XSD-Schema-Datei (XML-Dokumente -> W3C XML Schema), welche dann wiederum dem Source Generator zur Erzeugung der benötigten Klassen übergeben werden kann.

Den Source Generator muss man im Übrigen nicht über die Console/Eingabeaufforderung anstoßen. Man kann auch einfach ein kleines Javaprogramm schreiben. Sofern alle benögten Klassen eingebunden sind, genügen dafür folgende vier Zeilen (main Klasse etc. natürlich noch drumherum):



SourceGenerator srcGen = new SourceGenerator();

try {

srcGen.generateSource("Obst.xsd", "marshaltest");

} catch (FileNotFoundException ex) {

} catch (IOException ex) {

}


Startet man das Programm rödelt der Computer ein wenig rum, ehe er am Ende hübsch die Java-Klassen ausspuckt.

Jetzt muss ich nur noch einen FreeWare-XML-Schema-Ersteller finden. Oder einen Sponsor für oXygen! :)

Java und XML

16 Januar 2006

XML ist hip. Egal ob Config-Datei oder für den Datenaustausch, selbstgestrickte Dateien haben immer mehr ausgedient. Somit ist es sicherlich nicht hinderlich, wenn man um eine Möglichkeit weiß, XML-Dokumente mit Java zu verarbeiten. Einen guten Einstieg in das Thema bietet diese Seite von Menzsoft Technologies, auf der die Verarbeitung von XML-Dokumenten mit Hilfe des castor data binding frameworks beschrieben wird.

Wie auf der Seite zu lesen ist wird, um die Beispielprogramme durchzuspielen, neben der Castor API noch der Xerces XML Parser benötigt. Allerdings gab sich bei mir der JBuilder damit noch nicht zufrieden. Erst als ich ihm zusätzlich noch die commons-logging.jar spendierte, zeigte er sich gnädig. Fröhliches XMLen!

Codeschnipsel in Java

15 Dezember 2005

Beim Erlernen einer Programmiersprache verhält es sich wie bei einer Fremdsprache. Das beste Training ist immer noch sprechen, bzw. schreiben. Nichts ist besser als learning by doing. Auf diesem Wege bin ich über die folgenden Seiten gestoplert, die ein paar sehr hilfreiche Codeschnipsel bereithalten für alle möglichen Aktionen, die einen zu Beginn in der Regel interessieren. Verzeichnisse auslesen, Dateien lesen, schreiben, die ein oder andere Netzwerkaktion, Datenbankzugriff usw.: