hi,
irgendwie hab ich gesucht und gesucht, aber mir wurden immer die falschen Threads angezeigt ...
Ich möchte eine Schreibgeschützte Datei auslesen, aber da kommt eine "UnauthorizedAccessException".
Hier der Code:
FileStream fs = new FileStream(Filename, FileMode.Open );
Es wird doch wohl möglich sein, dass ich eine schreibgeschützte Datei lesen kann ... 8o
Bin bei der Suche über einen Thread gestolpert, wo was von Rechten die Rede war.
Nur, wie beschaff ich mir die Rechte? Aus dem Programm heraus.
Ungetestet: StreamReader?
Wir Arbeiten eigendlich nicht wir nehmen nur das geld
Bitte im richtigen Forum posten!
Das allgemeine C# Forum ist nicht mehr ganz oben in der Liste! Also vorher die Forenbeschreibung lesen. 😉
--> Verschoben
StreamReader wird wohl auch intern einen FileStream verwenden.
Du musst noch beim FileStream Access.Read angeben, sonst öffnest die Datei zum schreiben.
Original von nic4x4
Ich möchte eine Schreibgeschützte Datei auslesen, aber da kommt eine "UnauthorizedAccessException".
Für mich hört sich das eher danach an, als ob du keine Berechtigungen hättest die Datei zu lesen...
du musst schon sagen, dass du sie nur lesend willst, denn default ist lese schreibe zugriff und den bekommst natürlich nciht!
Original von John Doe
Original von nic4x4
Ich möchte eine Schreibgeschützte Datei auslesen, aber da kommt eine "UnauthorizedAccessException".Für mich hört sich das eher danach an, als ob du keine Berechtigungen hättest die Datei zu lesen...
Ich bin Admin auf dem Rechner und habe die Datei zu Testzwecken schreibgeschützt gemacht. Wie man sieht hats sich gelohnt ^^
Original von marsgk
StreamReader wird wohl auch intern einen FileStream verwenden.
Du musst noch beim FileStream Access.Read angeben, sonst öffnest die Datei zum schreiben.
stimmt, jetzt habs ich auch gerafft.
aber (s. Kommentar unten):
Original von polofreak
du musst schon sagen, dass du sie nur lesend willst, denn default ist lese schreibe zugriff und den bekommst natürlich nciht!
Ich hab doch FileMode.Open angegeben!
Reicht das C#/.net nicht oder muss ich noch jede Klasse vorher explizit darauf aufmerksam machen?
Aber geht jetzt, danke marsgk. 👍
(und alle anderen die reingeschaut haben)
Hallo nic4x4,
ein "FileMode.Open" verwendet die Attribute, die angegeben sind (das muss also nicht zwingend ReadOnly sein).
Hierzu den Beschreibungstext bei MSDN:
Specifies that the operating system should open an existing file. The ability to open the file is dependent on the the value specified by FileAccess. Quelle: ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.en/cpref8/html/T_System_IO_FileMode.htm
Also ist die Angabe des "FileAccess" notwendig, ansonsten wird default verwendet (wahrscheinlich "ReadWrite").
Gruß
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Ich hab doch FileMode.Open angegeben!
Reicht das C#/.net nicht oder muss ich noch jede Klasse vorher explizit darauf aufmerksam machen?
dir fehlt aber der dritte parameter
FileStream (String, FileMode, FileAccess)
FileMode
FileAccess
juhu ich hatte ohne in die MSDN schauen recht 😉 😜
FileStream fs = new FileStream(Filename, FileMode.Open , FileAccess.Read);
[EDIT] FileAccess auf Read geändert [/EDIT]
hm doch mit meinem ersten Beitrag hatte ich recht 😉
und der zweite ist JETZT auch richtig 😉