Kopiervorgang abfangen

cheh

Mitglied
Hey Leute,

wisst ihr eine Möglichkeit, wie ich mit Java in Windows den kopiervorgang einer Datei in einen bestimmten Ordner abfangen kann ?
Ich würde mein Programm gerne so in Windows integrieren, dass ein Event/o.Ä. ausgelöst wird, wenn der User eine Datei in den Ordner kopiert, bzw. dort eine erzeugt. Dann soll mein Programm die Datei verschlüsseln und erst DANACH in den Ordner lassen.

Mitbekommen, dass eine Datei erzeugt wurde kann ich, das ist ja mit Java 7 nicht mehr schwer das wird hier ja auch sehr schön gezeigt.

Leider ist die Datei ja dann schon vorhanden, wenn das Event ausgelöst wird und dann ist es zu spät.

Hintergrund ist, dass ich gerne ein Programm hätte, was alle Dateien die ich in meinen DropBox ordner (o.Ä.) kopiere verschlüsseln soll, bevor sie auf den Server gelangen. Also auch bevor sie in den Ordner gelangen.
Und da ich das gerne selber könnte möchte ich mein Programm selber schreiben und nicht (falls es die überhaupt gibt) eine Freeware oder so benutzen ...


Habt Ihr eine Idee oder einen Tipp ?

Danke schon einmal :)
 
G

Gast2

Gast
Nein, da hast du mit Java schlechte Karten. Das ist alles sehr Betriebssystem nah, da wirst du so ohne weiteres nicht rankommen, wenn sich das Betriebssystem da überhaupt reinpfuschen lässt...

Seit Java7 gibts nen FileWatcher, der dich benachrichtigen kann wenn Dateien erstellt, gelöscht oder modifiziert wurden. Aber das wird dir bei deinem Problem nicht soviel helfen.
 
S

Spacerat

Gast
Lassen sich in Windows nicht ohnehin ganze Ordner per User verschlüsseln? Warum der Umweg über eine App?
 

MarderFahrer

Gesperrter Benutzer
Alternative könnte man doch auch einfach den Ordner beobachten.
Kommt ein neues File hinzu, wird es verschlüsselt und anschliessend in etwa so deleted

Java:
        File file = new File("c:/output.txt");
        
        //Zuvor alle mit dem File assoziierten Streams schließen...
        
        if(file.exists()){
            file.delete();
        }
 

cheh

Mitglied
danke :)

werde mir etwas überlegen ..

Das man Widows Ordner verschlüsseln lassen kann wusste ich nicht, danke für den Tipp :)
 

HoaX

Top Contributor
Lassen sich in Windows nicht ohnehin ganze Ordner per User verschlüsseln? Warum der Umweg über eine App?

Und wie greift man auf die verschlüsselten Daten zu? Solange man eingelogt ist erscheinen die Daten ja unverschlüsselt...und dann läd auch Dropbox die Dateien unverschlüsselt hoch.

Unter Linux könnte man einfach encfs verwenden.
 
J

JohannisderKaeufer

Gast
Wie wäre folgender USE CASE1: Änderung von Datei durch User

User kopiert seine Datei in Ordner A

Die Anwendung(Filewatcher) erkennt das verschlüsselt die Datei und kopiert sie in Ordner B.

Ordner B wird mit deinem Clouddienst synchronisiert.


Und USE CASE2: Änderung von Datei durch Clouddienst.

Der Clouddienst hat eine Änderung und synchronisiert Ordner B.

Die Anwendung(Filewatcher) erkennt, das eine nicht von ihr ausgelöste Änderung vorliegt.

Die geänderten Dateien werden entschlüsselt und in Ordner A abgelegt.
 
I

irgendjemand

Gast
ich schlag mal auf eine etwas andere art dazwischen ...

da ich dropbox selbst nicht kenne ... aber sehr wohl weis das es software gibt die netz-dienste als laufwerke einbinden können *sowas wie FTP-2-drive oder wie das heißt* könnte man doch dort ansetzen ...

so wie ich das rausgelesen habe hast du eine anwendung welche dir dein dropbox account als laufwerk / ordnerstruktur in dein file-system einbindet ...

eine möglichkeit *wobei ich nicht ganz sicher bin ob das mit java und einigen jni/jna möglich ist* wäre doch jetzt anstatt die offizielle app zu verwenden eine eigene zu schreiben welche die daten beim upload verschlüsselt ...

eine andere : im dropbox-client einen proxy einstellen , diesen als java-app implementieren und dann so den netzwerkverkehr manipulieren ...

aber mit java dierekt in datei-operationen von windows eingreifen ist schlicht unmöglich ...
um das zu erreichen müsste deine app sämtliche DLLs die daren beteiligt sind hooken , die calls überwachen und ggf dazwischen hauen ... ganz zu schweigen von der ansteuerung der geräte-treiber ...

und bevor du dir so einen aufwand machst sollte es einfacher sein ein virtuelles drive mit entsprechendem driver über java zu managen ...
 

cheh

Mitglied
Wie wäre folgender USE CASE1: Änderung von Datei durch User

User kopiert seine Datei in Ordner A

Die Anwendung(Filewatcher) erkennt das verschlüsselt die Datei und kopiert sie in Ordner B.

Ordner B wird mit deinem Clouddienst synchronisiert.


Und USE CASE2: Änderung von Datei durch Clouddienst.

Der Clouddienst hat eine Änderung und synchronisiert Ordner B.

Die Anwendung(Filewatcher) erkennt, das eine nicht von ihr ausgelöste Änderung vorliegt.

Die geänderten Dateien werden entschlüsselt und in Ordner A abgelegt.

so habe ich jetzt auch vor das zu machen :)
kann euch ja das ergebnis hinterher zeigen ..




ich schlag mal auf eine etwas andere art dazwischen ...

da ich dropbox selbst nicht kenne ... aber sehr wohl weis das es software gibt die netz-dienste als laufwerke einbinden können *sowas wie FTP-2-drive oder wie das heißt* könnte man doch dort ansetzen ...

so wie ich das rausgelesen habe hast du eine anwendung welche dir dein dropbox account als laufwerk / ordnerstruktur in dein file-system einbindet ...

eine möglichkeit *wobei ich nicht ganz sicher bin ob das mit java und einigen jni/jna möglich ist* wäre doch jetzt anstatt die offizielle app zu verwenden eine eigene zu schreiben welche die daten beim upload verschlüsselt ...

eine andere : im dropbox-client einen proxy einstellen , diesen als java-app implementieren und dann so den netzwerkverkehr manipulieren ...

aber mit java dierekt in datei-operationen von windows eingreifen ist schlicht unmöglich ...
um das zu erreichen müsste deine app sämtliche DLLs die daren beteiligt sind hooken , die calls überwachen und ggf dazwischen hauen ... ganz zu schweigen von der ansteuerung der geräte-treiber ...

und bevor du dir so einen aufwand machst sollte es einfacher sein ein virtuelles drive mit entsprechendem driver über java zu managen ...

hm.. wobei das hier hört sich auch interessant an. Ich muss mal schauen wo ich nachlesen kann wie soetwas mit proxys ect. funktioniert ...
hat jemand zu soetwas einen tutorial/link/sonstiges ?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Probleme mit Kopiervorgang Allgemeine Java-Themen 3
L datum nach dem kopiervorgang neu setzen? Allgemeine Java-Themen 2
CodingBerlin Mouse Clicks abfangen Allgemeine Java-Themen 4
X jvm exception abfangen und an externes Programm schicken Allgemeine Java-Themen 4
S equals-Methode bestimmer Klassen abfangen Allgemeine Java-Themen 2
E Exceptions abfangen und dann Programm stoppen - aber wie? Allgemeine Java-Themen 2
T Daten über port abfangen mit proxy server Allgemeine Java-Themen 12
M Swing java command line abfangen Allgemeine Java-Themen 8
C Swing Abfangen von Fehlern in GUI Allgemeine Java-Themen 4
R Threads Exceptions von Threads abfangen im ThreadPool Allgemeine Java-Themen 5
T Methoden In Konsole tasten abfangen? Allgemeine Java-Themen 4
B Windows Shutdown abfangen Allgemeine Java-Themen 10
O Input/Output CMD-Ausgabe abfangen und in Datei speichern Allgemeine Java-Themen 8
D Nullpointer abfangen Allgemeine Java-Themen 7
V JNI Call Crash verhindern (abfangen) Allgemeine Java-Themen 2
E JAVA URL abfangen und weiterleiten? Filter? Allgemeine Java-Themen 6
F Alle Exceptions abfangen Allgemeine Java-Themen 4
reibi NoClassDefFoundError abfangen Allgemeine Java-Themen 6
N BlueJ Abfangen vom Beenden Allgemeine Java-Themen 7
B Alle Exceptions auf einmal abfangen Allgemeine Java-Themen 4
B Exception wird geworfen, ich darf sie aber nicht abfangen. Allgemeine Java-Themen 10
P [SWT] Copy, Paste und Cut abfangen Allgemeine Java-Themen 6
T WeakHashMap: Wie "null" effizient abfangen? Allgemeine Java-Themen 5
R Loading-Thread und Exceptions abfangen. Allgemeine Java-Themen 4
G Tastatursignale abfangen oder ist Java dafuer zu abstrakt? Allgemeine Java-Themen 12
I Das EOF (Ctrl + Z) abfangen Allgemeine Java-Themen 8
E programm im background tastendruck abfangen Allgemeine Java-Themen 4
H NullPointerException trotz Abfangen von null? Allgemeine Java-Themen 9
M Speichern von Word als Event abfangen Allgemeine Java-Themen 7
W Das schließen des JFrame abfangen, wiei? Allgemeine Java-Themen 6
P Nicht terminierende Methoden abfangen - timeout ? Allgemeine Java-Themen 3
reibi Aktion Taste gedrückt abfangen Allgemeine Java-Themen 9
G Bildschirmänderung abfangen? Allgemeine Java-Themen 4
J Method.invoke -> Exceptions der Funktion abfangen Allgemeine Java-Themen 5
B Fehlermeldung von dispatcher.forward abfangen Allgemeine Java-Themen 2
P CLAmp-Ausgaben abfangen Allgemeine Java-Themen 2
H Programmterminierung abfangen Allgemeine Java-Themen 4
R Alle Konsolenausgaben abfangen Allgemeine Java-Themen 8
G outOfMemoryError beim Einlesen einer Datei abfangen? Allgemeine Java-Themen 13
F Überlauf abfangen Allgemeine Java-Themen 1
J ToolTipText Event abfangen Allgemeine Java-Themen 5
M unterschiedliche Betriebssysteme abfangen Allgemeine Java-Themen 3
C LinkedList Exception abfangen Allgemeine Java-Themen 8
0 StackOverflow abfangen Allgemeine Java-Themen 15
M Runtime.getRuntime().exec() - Fehler abfangen Allgemeine Java-Themen 5
L Tastatureingaben abfangen Allgemeine Java-Themen 6
M err oder alle Exceptions eines Programms abfangen Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben