Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>Java und versteckte Dateien

Java und versteckte Dateien

SevenOfFive20.11.0817:30
OK, möglichweise ist das hier ein wenig OT, aber es wäre doch interessant zu wissen ob das geht.

Wenn ich unter Java eine Datei kopiere, die versteckt ist, dann ist es zwar kein Problem die Kopie zu machen, vielmehr ist das Problem das Dateiattribut.

Ich weiss, dass die verschiedenen Betriebssysteme bzw. Dateisysteme es unterschiedlich handeln eine Datei (oder ein Verzeichnis) als versteckt zu kennzeichnen und im Falle von Mac OS X ist es wirklich leicht.

Aber was ist im Falle von Windows?

Gibt es unter Java irgendeine Möglichkeit dieses Attribut zu setzen von der ich noch nicht weiss.

Meine halbwegs intensive Recherche hat bisher ergeben, dass Sun eben wegen der unterschiedlichen Handhabung der Dateisysteme darauf verzichtet hat eine entsprechende Methode zu implementieren.

Aber kann das wirklich sein? Gibt es überhaupt keine Möglichkeit?
0

Kommentare

Mr. Krabs
Mr. Krabs20.11.0817:53
Du kannst in dein Java-Programm ja Skripts-/Batchdateien aufrufen und diese passt du dann an die jeweilige Plattform an, was anderes fällt mir so schnell nicht ein.

Aber brauchen wir zwei Threads dafür?
„Deux Strudel!“
0
Resistance20.11.0817:55
ja und nein:

ja: seit java 1.6 gibt es:

http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/enhancements/


nein:
Filesystem Zugriff ist per se Plattform abhänging und kann daher nicht in Java Bibliotheken vorhanden sein.

Also mit den Bordmitteln dürfte das wohl nicht gehen, du kannst dir aber eine JNI basteln, der die Funktionen enthält. Damit läuft dann dein Programm aber nur noch unter MacOS X.

Generell würde ich einfach den Umweg über die Shell nehmen (chmod zB.). Das ist zwar auch plattformabhängig, ist aber von außen "konfigurierbar".
0
SevenOfFive21.11.0811:27
Danke Mr. Krabs und Resistance! Dachte mit schon, daß ich um eine solche Konstruktion nicht herum kommen würde...

Wie schon erwähnt ist es unter Mac OS X (und allen anderen UNIX-artigen OS) einfach. Unter Windows werde ich dann wohl den Befehl "attrib.exe" in einer Shellsession bemühen müssen, um die Dateiattribute wieder herzustellen.

Schade, ich dachte, daß es eleganter zu lösen wäre...
Mr. Krabs
Aber brauchen wir zwei Threads dafür?

Wie meinst Du das? Falls Du Dich auf meine andere Anfrage von gestern beziehst: Dort frage ich etwas anderes. Vielleicht hast Du ja in dieser Sache auch einen Vorschlag!? Wäre toll, denn so allmählich frage ich mich wozu Apple die Getter/Setter-Methoden für den Filetype und Filecreator überhaupt seiner Java-Implementation hinzugefügt hat. Hat jemand damit Erfahrungen gemacht?
0
iCode
iCode21.11.0812:11
Wahrscheinlich aus Kompatibilitätsgründen. Aber das FileType und Creator Konzept wird auf absehbare Zeit verschwinden.
0
SevenOfFive21.11.0812:15
iCode
Wahrscheinlich aus Kompatibilitätsgründen. Aber das FileType und Creator Konzept wird auf absehbare Zeit verschwinden.

Hmm, OK. Aber wie bekomme ich es aus Java heraus hin, die manuell eingestellte Standardapp zum Öffnen der Datei aus dem Finder heraus mit in die Kopie der Datei hinüber zu retten?
0
osxnerd21.11.0812:39
iCode
Wahrscheinlich aus Kompatibilitätsgründen. Aber das FileType und Creator Konzept wird auf absehbare Zeit verschwinden.

Das denke ich nicht. Apple hat in den letzten Jahren APIs für Type- und Creator-Codes sowohl auf der UNIX-Ebene (über den xattr-Mechanismus) als auch in Cocoa eingeführt. Von daher dürfte eher das Gegenteil der Fall sein, selbst wenn Carbon eines Tages aufgegeben wird.
0
iCode
iCode21.11.0812:54
SevenOfFive
Aber wie bekomme ich es aus Java heraus hin, die manuell eingestellte Standardapp zum Öffnen der Datei aus dem Finder heraus mit in die Kopie der Datei hinüber zu retten?

Das kann ich Dir leider nicht sagen.
Ich war bisher der Meinung das bliebe erhalten.
0
iCode
iCode21.11.0813:03
osxnerd
Das denke ich nicht. Apple hat in den letzten Jahren APIs für Type- und Creator-Codes sowohl auf der UNIX-Ebene (über den xattr-Mechanismus) als auch in Cocoa eingeführt. Von daher dürfte eher das Gegenteil der Fall sein, selbst wenn Carbon eines Tages aufgegeben wird.
Das hatte nichts mit der heftigen Carbon-Diskussion von letzten Jahr zu tun. Ich weiss aber auch nicht mehr, bei welcher Gelegenheit das gesagt wurde.
0
SevenOfFive21.11.0813:08
iCode
SevenOfFive
Aber wie bekomme ich es aus Java heraus hin, die manuell eingestellte Standardapp zum Öffnen der Datei aus dem Finder heraus mit in die Kopie der Datei hinüber zu retten?

Das kann ich Dir leider nicht sagen.
Ich war bisher der Meinung das bliebe erhalten.

Bei einer Kopie über den Finder ist das auch der Fall, aber nicht über Java oder z.B. auch rsync. In beiden Fällen wird diese Info nicht bewahrt. Wird diese Info (preferred app) womöglich gar nicht in der Dokumentdatei gespeichert sondern woanders??

Mr. Krabs: Nun haben wir anscheindend doch zwei Threads wegen der selben Fragestellung!
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.