Laufwerk erstellen

cyber82

Mitglied
Hallo ich habe mal eine Frage bzw. ein Problem.
Ich muss für die Arbeit ein Programm schreiben das ein Laufwerk erstellt.
Vom Prinzip her also genau so etwas wie ein virtuelles Laufwerk das Iso Dateien beim einbinden einließt.
Also ein " leeres" Laufwerk soll dieses Programm erzeugen das dann mit Daten gefüttert wird.
Ich hoffe das ich das Prinzip einigermaßen rüberbringen konnte.
Hat da vielleicht einer einen Ansatz ?
Ach und ich darf kein externes Programm nutzen das diese Aufgabe übernimmt.
Ich danke schonmal im voraus.
 
Du sollst mit Java ein Laufwerk erzeugen?
Wenn das gehen würde, bräuchte man wohl keine Fabriken mehr für Festplatten...

Was genau meinst du denn mit "Laufwerk"??
Ach und ich darf kein externes Programm nutzen das diese Aufgabe übernimmt.
Dann stehen die Chancen sehr schlecht.
 
Ok du kennst doch bestimmt Programme die beim Installieren im Windows Explorer ein neues "Laufwerk" anzeigen. CloneDVD macht das zum Beispiel. Klar ist das kein physisches Laufwerk. Erst wenn man dann eine DVD mit einer Iso einlegt wird unter eben genau diesem "Laufwerk" der Inhalt angezeigt so das man diesen verwenden kann.
Ich will einfach nur das wenn ich das Programm ausführe das er mir im Explorer ein Laufwerk anlegt das dauerhaft aufrufbar ist. Das füttern mit Daten kommt dann im zweiten Schritt.
Also kein reales Laufwerk wie eine Festplatte oder irgendein anderes Laufwerk sondern ein emuliertes...
 
Linux kennt keine "Laufwerke", da sind alles Ordner/Dateien, daher wirst du sowas unter Lniux nie brauchen.
Aber vielleicht suchst du ja den mount und/oder ln Befehl?
 
Ich denke um das Plattformunabhängig zu gestalten musst du dich mit Client- und Serversystem in Java auseinandersetzen und die Dateien bei deinem Server hinterlegen und mit dem Client abholen und anzeigen lassen
 
Für Netzlaufwerke geht das alles anders, und es kommt darauf an, um was für eine Art Netzlaufwerk es sich handelt..

Ich schlage vor du bechreibst mal klar was du möchtest anstatt die Infos per Salamitaktik reinzustellen.
 
Auch Wahr... sorry
Also am Ende soll es so eine Art cloud auf einem Server sein. Das Programm was ich schreiben soll, soll bei der Installation ein Laufwerk erzeugen das sich mit einem bestimmten Ordner auf dem Server verbindet. Sobald man nun Datein in dieses Laufwerk bzw. in diesem Fall ja in den Ordner des Server kopiert sollen die Dateien Gezipt und verschlüsselt werden.
In der anderen Richtung also beim Herunterladen eben genau die andere Richtung... Sprich entschlüsselt und Entpackt werden.
Wichtig ist es eben nur das dies über ein permanentes "Laufwerk" geschieht.
Man das ist ganz schön schwer sowas zu beschreiben merke ich gerade mal xD
 
Also die Aufgabe war "ein Laufwerk" zu kreieren? Wer stellt solche Aufgaben? Letztendlich ist doch das Ziel entscheidend und da gibt es genug andere Wege. Ein Ordner der auf Änderungen überwacht wird und Clients holen sich die geänderten Daten.

Da gibts auch wieder mehrere Möglichkeiten.
 
Also gleich dem was dabei rauskommen und wie das umgesetzt werden soll ist Java hier eindeutig die falsche Sprache.
Du sagst du darfst keine externen Programme nutzen. Nun, wenn du unter Unix "mount" und unter Windows "subst" bzw "net" callst dann nutzt du doch extrene Programme. Zwar werden diese Programme in diesem Fall als "Systemtools" bezeichnet, ändert aber nichts an der Sache das du ein externes Programm callst.

Und selbst wenn du das irgendwie mit Java implementieren wollen würdest bräuchtest du schon JNI oder JNA wenn es sich um ein "Laufwerk" handeln soll. Java selbst kann das NICHT. Und nur aus Java Systemtools callen ? Das kannst du dir sparen. Dann schreib lieber gleich ein kleines Shell-Script (unter Windows eine BATch) und schreib da die paar Zeilen rein die du sonst umständlich in Java callen würdest.

Mal davon abgesehen kenn Unix überhaupt keine "Laufwerke", denn ein Grundgedanke von Unix und dessen File-Systemen ist "Alles ist eine Datei". Und : "Es gibt nur eine Wurzel". Ergo : wenn du sowas unter Unix machen willst kannst du den Datei-Baum nur erweitern.

Aber das wird zu OT. Zum eingentlichen Problem : on-the-fly de/komprimieren (ich würde hier die worte "Zip" und "(Ent)Packen" vermeiden) und en/decrypten und dann noch übers Netzwerk ?
An sich mit Java kein Problem. Das größere Problem ist das Java so nicht ins File-System eingebunden werden kann das du halt eine Datei nach X:\Y kopierst und dadurch automatisch der Upload getriggert wird.

Auch stellst du dir den "Download" etwas zu simpel vor. Denn damit du erstmal auswählen kannst welches File du laden willst brauchst du eine Ansicht des aktuellen Ordners. Also wäre die erste Aktion für den "Download" erstmal Informationen über das aktuelle Verzeichnis sowie dessen enthaltenen Daten zu erzeugen und im Client darzustellen.


Alles in allem : wie bereits erwähnt : Java ist hier definitiv die komplett falsche Sprache um dieses Vorhaben umzusetzen.
Allerdings gibt es bereits einen Ansatz für Windows : FTP2Drive. Dabei wird ein FTP-Verzeichnis als Netzlaufwerk gemappt. Ist aber in meinen Augen sehr unsicher da FTP wie wir alle wissen ein PLAIN-Protokoll ist. Eventuell wenn man was mit SSH tunneln würde. Oder eine andere VPN-Software. Dann könnte man mal versuchen sich das anzusehen um halbwegs zu verstehen was da abläuft. Aber alleine um überhaupt ein virtuelles Drive zu erzeugen brauchst du mindestens einen System-Treiber. (Wie es genau mit Win-Netzlaufwerken aussieht weis ich nicht, kann mir aber vorstellen das ein entsprechender "Server" hier reichen könnte.) Und das macht den Sinn von Java, nämlich Plattformunabhängigkeit hinfällig.

Wenn du also nicht unbedingt die nächsten Monate damit verbringen möchtest dir irgendwas aus dem Internet zusammen zu klicken würde ich an deine Stelle dieses Projekt an Entwickler abgeben die sich mit System-näheren Sprachen wie C/++ beschäftigen und sowas schon mal gemacht haben. Mit Java wirst du hier nicht zum Erfolg kommen.
 

Neue Themen


Zurück
Oben