# JavaApplet Projekt und clien-side read/write.Bitte um Hilfe.



## msd (3. Apr 2007)

Hallo miteinander,

ich bin neu in diesem Forum und auch in Sachen Java noch etwas unwissend. Ich hoffe aber trotzdem, dass ihr mit helfen könnt. Ich recherchiere gerade die Machbarkeit zu einem geplanten Intranet-Projekt und habe in der Literatur und Internet nichts darüber gefunden.

Die Webanwendung auf dem Clientrechner soll folgendes leisten. Mit einem JavaApplet, denk ich erstmal kein Problem.

    * Möglichket der Suche in einer Datenbank, die auf einem Server innerhalb des Intranet liegt
    * Bereitstellung der Datensätze zur Weiterverarbeitung in editerbaren Textfelder im Browser.

Das eingentliche Problem und der Grund meiner Anfrage sind die lokalen clientseitigen Dateifunktionen, die möglich sein sollten. Geht man nun davon aus, dass der User die Daten bearbeitet hat.

    * Der Datensatz soll nun als Textdatei clientseitig über den Browser auf einer SD-Karte abgespeichert werden    
       können.

    * Konkret könnte das so aussehen: Ein Button "Speichern auf SD" soll diese Funktion erfüllen: .
          o Laufwerksauswahl über DropDown Menü und ggf. Meldung "Bitte SD Karte einlegen".
          o Ein vordefiniertes Verzeichnis soll auf der SD-Karte automatisch während dem Speichern auf der SD-Karte 
             erstellt werden. 
             Dieses ist fest vordefiniert und man kann dem User nicht zumuten den Pfad jedes mal einzutippen. Es könnte 
             Tippfehler entsehen.
          o In diesem Verzeichnis soll die Textdatei mit dem Datensatz abgelegt werden.

    * Zusätzlich sind folgende Funktionen notwendig:
          o Button "SD-Karte Löschen" mit verhergender Laufwerksauswahl. Vor der Speicherung soll der User die 
             Möglichkeit haben die SD-Karte zu komplett löschen.

Sind diese funktionen mit einem JavaApplet möglich? Wenn ja, welchen Klassenbib. kann man verwenden? 
Soviel ich weiss ist diese nur für serverseitigen Zugriff vorgesehen.

Wäre das Ganze über ein einmalig geltendes "Erlaubniszertifikat" möglich?

Falls ihr Links/Quellen/Bücher zu dem Problem kennt, bitte ich euch mir diese mitzuteilen!

Ich danke euch vielmals.

Gruß
Markus


----------



## Wildcard (3. Apr 2007)

Dann erstmal willkommen im Forum.
Die SD-Karte wird im OS gemountet, also verhält es sich hier transparent zu normalen Lese/Schreibvorgängen.



> Sind diese funktionen mit einem JavaApplet möglich? Wenn ja, welchen Klassenbib. kann man verwenden?
> Soviel ich weiss ist diese nur für serverseitigen Zugriff vorgesehen.


Das hast du falsch verstanden, ein Applet läuft immer auf dem Client.
Eine Lib brauchst du erstmal nicht, da die Sache mit der SD-Karte wie oben erwähnt im Betriebsystem erledigt werden muss.



> Wäre das Ganze über ein einmalig geltendes "Erlaubniszertifikat" möglich?


Um Zugriff auf das Dateisystem zu erhalten musst du dein Applet signieren.


----------



## msd (3. Apr 2007)

Hallo,

danke für die schnelle Antwort. Vor allem interessiert mich erstmal die Machbarkeit der geforderten Funktionen.



> Das hast du falsch verstanden, ein Applet läuft immer auf dem Client.
> Eine Lib brauchst du erstmal nicht, da die Sache mit der SD-Karte wie oben erwähnt im Betriebsystem erledigt werden muss.



* Könnten nun im Applet alle erforderlichen Funktionen mit Hilfe einer Signierung realisiert werden? Dies wären: 

o Ein Button "Speichern auf SD" soll einen Dialog mit DropDown-Menü öffnen. In dem DropDown-Menü hat der User die Möglichkeit aus einer Liste von Laufwerksbuchstaben das betreffende SD-Kartenlaufwerk auszuwählen.
Ist dies geschehen erfolgt eine Prüfung des Laufwerks und es wird ggf. die Meldung "Bitte SD Karte einlegen" ausgegeben.

o Ist nun eine SD-Karte eingelegt wird erneut geprüft und positiv bestätigt.
Nun erfolgt der Speichervorgang. Ein vordefiniertes Verzeichnis soll auf der SD-Karte automatisch vor dem Speichern erstellt werden. Dieses ist fest vordefiniert, da man dem User nicht zumuten kann den Pfad jedes mal einzutippen. Es könnte Tippfehler entsehen.

o In diesem Verzeichnis soll die Textdatei mit einem Datensatz abgelegt werden.

* Zusätzlich sind folgende Funktionen notwendig:

o Button "SD-Karte Löschen" mit verhergender Laufwerksauswahl. Vor der Speicherung soll der User die
Möglichkeit haben die SD-Karte zu komplett löschen. 

Vielen Dank erstmal. Wenn ich wüsste ob das alles machbar wäre, würde mir das sehr viel weiterhelfen.

Gruß
markus


----------



## Wildcard (3. Apr 2007)

Grundsätzlich schon, nur hast du doch gar keinen Laufwerksbuchstaben (sowas gibt's eh nur in Windoof) wenn keine SD Karte eingelegt ist, oder?


----------



## msd (3. Apr 2007)

Hallo,



> Grundsätzlich schon, nur hast du doch gar keinen Laufwerksbuchstaben (sowas gibt's eh nur in Windoof) wenn keine SD Karte eingelegt ist, oder?



Wenn man ein Speicherkartenlesegerät an ein Windowssystem über USB anschließt reserviert Windows für jeden Speicherkartenschacht einen Buchstaben auch wenn keine SD-Karte eingelegt ist. 

Die Laufwerksprüfung müsste somit funktionieren, wenn der User im DropDown das Laufwerk auswählt, aber noch keine Karte eingelegt hat.

Kennst du Literatur/Links die sich mit diesem Thema und der Signierung beschäftigen?


----------



## Wildcard (3. Apr 2007)

ok, hab weder Windows noch einen externen Kartenleser.
Mit Java Bordmitteln kannst du nicht feststellen was eine SD Karte und was eine Partition ist.
Du kannst nur prüfen ob du auf den Datenträger schreiben kannst oder nicht.
Zum Thema signieren findest du einiges in unserer FAQ, die Javainsel schreibt ein paar Zeilen
http://www.galileocomputing.de/openbook/javainsel6/, und die ausführlichste Dokumentation wirst du bei SUN finden.


----------



## msd (3. Apr 2007)

hi,



> Mit Java Bordmitteln kannst du nicht feststellen was eine SD Karte und was eine Partition ist.
> Du kannst nur prüfen ob du auf den Datenträger schreiben kannst oder nicht.



das ist doch schon mal was. damit kann ja auch eine prüfung durchgeführt werden. und wenn man auf das laufwerk nicht schreiben kann, könnte ja auch keine sd drin sein. 

vielen dank erstmal.


----------

