Ich weiss nicht was ich falsch mache aber wenn ich auf Windows (XP oder Vista) nach den Schreibrechten einer Datei frage erhalte ich immer true zurück (ausser die Datei existiert gar nicht).
Ich habs vorerst so gelöst dass wenn es Windows ist die zu testende Datei umbenannt wird, und dann wieder zurück umgenannt wird. wenn das geht habe ich wohl schreibrechte sonst nicht. Aber das muss doch besser gehen.
Das Javadoc sagt ja zu File#canWrite() folgendes:
"Tests whether the application can modify the file denoted by this abstract pathname."
Wieso erhalte ich dann true als Antwort wenn das dann doch nicht geht.
Das Problem besteht vor allem dann wenn ein Admin eine Datei erstellt (zB bei Installation des Programms) und dann ein normaler User diese Datei überschreiben will (z.B. Programmupdate).
Und wie ist das bei Vista? Da kann man ja die ungeheuerlichsten Sachen machen und Vista versucht dann die Datei an einer anderen Stelle zu speichern und tut nur so als sei die Datei da. Ich will aber wissen ob ich da nun wirklich Schreibrechte habe.
Claude
Ich habs vorerst so gelöst dass wenn es Windows ist die zu testende Datei umbenannt wird, und dann wieder zurück umgenannt wird. wenn das geht habe ich wohl schreibrechte sonst nicht. Aber das muss doch besser gehen.
Das Javadoc sagt ja zu File#canWrite() folgendes:
"Tests whether the application can modify the file denoted by this abstract pathname."
Wieso erhalte ich dann true als Antwort wenn das dann doch nicht geht.
Das Problem besteht vor allem dann wenn ein Admin eine Datei erstellt (zB bei Installation des Programms) und dann ein normaler User diese Datei überschreiben will (z.B. Programmupdate).
Und wie ist das bei Vista? Da kann man ja die ungeheuerlichsten Sachen machen und Vista versucht dann die Datei an einer anderen Stelle zu speichern und tut nur so als sei die Datei da. Ich will aber wissen ob ich da nun wirklich Schreibrechte habe.
Claude