Dateisystem unter Java simulieren

Status
Nicht offen für weitere Antworten.

Spontex

Mitglied
Hallo zusammen,


das Topic sag eigentlich schon alles aus - ist es unter Java möglich, in irgendeiner form ein Dateisystem zu simulieren welches das Betriebssystem versteht?

Also ich will das der Benutzer dann ganz normal über seinen Explorer darauf zugreifen kann und wenn er z.B. eine Datei kopiert bekomme ich ein Event das er was kopieren will und wohin. So das ich das ganze dann "von Hand" zum Ziel kopiere aber natürlich auch die Möglichkeit habe vorher oder nachher noch das eine oder andere zu erledigen.


Freundliche Grüsse
Spontex
 
Du kannst Dir natürlich eine Art Datei-Explorer schreiben.

Such mal ein bißchen was zu dem Thema hier im Forum oder im Internet und fang in der API mal an, Dir was zum Thema "File" anzuschauen.
 
sky80 hat gesagt.:
Du kannst Dir natürlich eine Art Datei-Explorer schreiben.

Such mal ein bißchen was zu dem Thema hier im Forum oder im Internet und fang in der API mal an, Dir was zum Thema "File" anzuschauen.

Das ist klar und auch nicht so das Problem, nur wenn ich jetzt eine Datei mit einem beliebigem Programm öffnen möchte, dann sollte das ganze auch funktionieren. Also muss irgendwas her womit ich ein Laufwerk bzw. ein Dateisystem simuliere!
Bzw. wenn das überhaupt geht was ich da vor habe - ohne native wirds wohl nicht auskommen befürchte ich.
 
Damit ich das richtig verstehe:

Du willst ne Programm haben dem du Dateien übergibst, von dem du Dateien auslesen und speichern kannst?

Aber wozu dann ein Dateisystem simulieren?
 
KSG9|plak hat gesagt.:
Damit ich das richtig verstehe:

Du willst ne Programm haben dem du Dateien übergibst, von dem du Dateien auslesen und speichern kannst?

Jaein 🙂

Ich will mir ein Programm schreiben was vollautomatisch kompremiert und verschlüsselt , die Dateien sind dann für das Betriebssystem nicht sichtbar, stecken in einer Datenbank oder in einer grossen Datei oder sowas in der Art.

Ich will Dateisystem simulieren um auf die Dateien zugreifen zu können. Also ich möchte eine z.B. eine Word Datei öffnen, ganz normal über das Dateisystem - diese Anfrage kommt dann bei meinem Programm an welches die Datei dekompremiert und entschlüsselt und sie dann zurückschickt so das sie dann in Word geöffnet werden kann.

Ich hoffe das ich etwas verständlicher machen konnte was ich da vorhabe!
 
Spontex hat gesagt.:
Ich will mir ein Programm schreiben was vollautomatisch kompremiert und verschlüsselt , die Dateien sind dann für das Betriebssystem nicht sichtbar

Wie willst das verwirklichen? Hört sich ja hoch kompliziert an!
 
Also ich glaube sowas ist erstmal nicht möglich (belehrt mich bitte eines besseren, wenn ich mich irre...)

Du brauchst für deinen Anwendungsfall ja ein Programm, dass alle OS-Events mitbekommt, bewertet und evtl. bearbeitet. Also, da Java in einer VM läuft, scheidet das m.E. aus.
 
Sowas im Stil der Progs, mit denen man unter Win Images mounten kann, bzw. das Standard-mount unter Linux, nur mit integriertem Image? Ich befürchte, dafür ist Java dann doch der falsche Ausgangspunkt.

cu
 
Nein, so wie du dir das denkst geht das vermutlich nicht. Hört sich an wie bei Global Safe Disk...

Du könntest höchstens ein Programm schreiben, in dem du dann die Dateien visuell (Icon, sonstwie) darstellst und bei Doppelklick wird diese teporär auf Platte abgelegt (vorher entpackt, entschlüsselt..) und dann von dort aus mit der im System verknüpften Anwendung geöffnet wird (müsste mit JDIC gehen).

Aber dass du die Datei im normalen Windows Explorer siehst, anklickst und die Datei dann erst aus ner Java-Anwendung generiert wird - das wird nix 😉

Mit entsprechend C/C++, das ganze in Java über JNI eingehängt könnteste evtl. ein zusätzliches Laufwerk simulieren. Dann würde das funzen. Aber das entwickelt man nicht "mal eben so" und ohne direkte Windows-Programmierung in C++ wird das mal gar nichts...
 
sky80 hat gesagt.:
Also ich glaube sowas ist erstmal nicht möglich (belehrt mich bitte eines besseren, wenn ich mich irre...)

Du brauchst für deinen Anwendungsfall ja ein Programm, dass alle OS-Events mitbekommt, bewertet und evtl. bearbeitet. Also, da Java in einer VM läuft, scheidet das m.E. aus.

niemand hat gesagt.:
Sowas im Stil der Progs, mit denen man unter Win Images mounten kann, bzw. das Standard-mount unter Linux, nur mit integriertem Image? Ich befürchte, dafür ist Java dann doch der falsche Ausgangspunkt.

cu

Das habe ich, wie gesagt, befürchtet. Und ich möchte Java dafür verwenden damit es mindestens auf Windows und Linux läuft ohne jeweils eine extra OS Version des Programms zu installieren. Naja ich werde mal schaun - warscheinlich werde ich mir eine C++ lib schreiben welche die Betriebssystem zugriffe für mich erledigt und über JNI an Java weitergibt. Aber ich lote gerade auch erst die machbarkeit aus, vielleicht werde ich es auch nie machen wenn der aufwand zu gross ist :shock: 🙂
 
AlArenal hat gesagt.:
[...]
Mit entsprechend C/C++, das ganze in Java über JNI eingehängt könnteste evtl. ein zusätzliches Laufwerk simulieren. Dann würde das funzen. Aber das entwickelt man nicht "mal eben so" und ohne direkte Windows-Programmierung in C++ wird das mal gar nichts...

Da hatten wir den selben Gedanken, das mit der C++ Entwicklung sollte gehen, da ich schon länger in C++ schreibe als Java! Nur ein Laufwerk habe ich da bisher auch nicht simuliert - wir werden sehen!
 
Nur, warum solltest du dann noch was in Java schreiben? Der hauptaufwand wird die Anbindung ans OS sein. Da kannste gleich alles in C++ machen 😉
 
Sowas gibt's doch sogar schon. Man erhält ein weiteres virtuelles Laufwerk, das von jedem Programm genau wie ein anderes Laufwerk zu erreichen ist, und sich genauso verhält, wie ein anderes Laufwerk, allerdings sind die Daten darauf verschlüsselt gespeichert, oder liegen anderswo im Netz verteilt, etc., und für Zugriffe wird man nach einem Passwort gefragt. Hab ich vor Jahren mal gesehen.

Das wird aber nix mit Java, bzw. lohnt es sich nicht, dafür Java zu benutzen, da das dermaßen plattformabhängig ist, da kannst Du gleich native bleiben und dir für Windows mal die WinAPI zu Gemüte führen - für Linux weiß ich nicht, geht vielleicht dort auch eleganter, da man sowieso frei nach Schnauze mounten kann.
 
AlArenal hat gesagt.:
Nur, warum solltest du dann noch was in Java schreiben? Der hauptaufwand wird die Anbindung ans OS sein. Da kannste gleich alles in C++ machen 😉

Spontex hat gesagt.:
Und ich möchte Java dafür verwenden damit es mindestens auf Windows und Linux läuft ohne jeweils eine extra OS Version des Programms zu installieren.

kopfsalat hat gesagt.:
Sowas gibt's doch sogar schon. Man erhält ein weiteres virtuelles Laufwerk, das von jedem Programm genau wie ein anderes Laufwerk zu erreichen ist, und sich genauso verhält, wie ein anderes Laufwerk, allerdings sind die Daten darauf verschlüsselt gespeichert, oder liegen anderswo im Netz verteilt, etc., und für Zugriffe wird man nach einem Passwort gefragt. Hab ich vor Jahren mal gesehen.

Aha interessant, werde mal danach suchen.
 
Unter Linux könntest du Devices nehmen die man moutet.
für win cygwin.com damit könntest du es mit viel Aufwand hinkriegen.
etwa so
Daten<-dein Javaprogramm<-nativer wraper der per loopback netzwerk auf das java-programm zugreift<-losetup<-mount<-win programm
Ich hoffe das konnte dir helfen
 
Du könntest natürlich auch sowas wie Samba schreiben - also einen Windows Server. Dann könntest Du das Laufwerk als Netzwerklaufwerk in Windows und Linux einbinden. Allerdings wirst Du mit dem SMB Protokoll wahrscheinlich eine Weile beschäftigt sein. 😉
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben