Laden...

Schreibgeschützte Datei auslesen

Erstellt von nic4x4 vor 17 Jahren Letzter Beitrag vor 17 Jahren 3.855 Views
nic4x4 Themenstarter:in
191 Beiträge seit 2006
vor 17 Jahren
Schreibgeschützte Datei auslesen

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.

1.549 Beiträge seit 2004
vor 17 Jahren

Ungetestet: StreamReader?

Wir Arbeiten eigendlich nicht wir nehmen nur das geld

N
4.644 Beiträge seit 2004
vor 17 Jahren

Bitte im richtigen Forum posten!
Das allgemeine C# Forum ist nicht mehr ganz oben in der Liste! Also vorher die Forenbeschreibung lesen. 😉

--> Verschoben

M
1.439 Beiträge seit 2005
vor 17 Jahren

StreamReader wird wohl auch intern einen FileStream verwenden.
Du musst noch beim FileStream Access.Read angeben, sonst öffnest die Datei zum schreiben.

149 Beiträge seit 2005
vor 17 Jahren

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...

Schon als Kindern war uns klar: Jeder von uns wird ein Star, oder Millionär - das ist doch auch nicht schwer. Dem Alkohol nicht abgeneigt, war es für uns auch nicht leicht. Durch seine Hände Arbeit, wird man auch nicht gleich ein Scheich.
181 Beiträge seit 2006
vor 17 Jahren

du musst schon sagen, dass du sie nur lesend willst, denn default ist lese schreibe zugriff und den bekommst natürlich nciht!

nic4x4 Themenstarter:in
191 Beiträge seit 2006
vor 17 Jahren

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)

4.506 Beiträge seit 2004
vor 17 Jahren

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!”

S
1.047 Beiträge seit 2005
vor 17 Jahren

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

  • Append
  • Create
  • CreateNew
  • Open
  • OpenOrCreate
  • Truncate

FileAccess

  • Read
  • ReadWrite
  • Write
nic4x4 Themenstarter:in
191 Beiträge seit 2006
vor 17 Jahren

Ja, hab ich jetzt auch verbessert, guckt mal auf meinen letzten Post.

181 Beiträge seit 2006
vor 17 Jahren

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]

nic4x4 Themenstarter:in
191 Beiträge seit 2006
vor 17 Jahren

Nö, es muss "Read" heißen, wenn man eine Schreibgeschützte lesen will. 😁

181 Beiträge seit 2006
vor 17 Jahren

hm doch mit meinem ersten Beitrag hatte ich recht 😉

und der zweite ist JETZT auch richtig 😉