myCSharp.de - DIE C# und .NET Community (https://www.mycsharp.de/wbb2/index.php)
- Entwicklung (https://www.mycsharp.de/wbb2/board.php?boardid=3)
-- Grundlagen von C# (https://www.mycsharp.de/wbb2/board.php?boardid=88)
--- FileStream findet Datei nicht, obwohl sie vorhanden ist (https://www.mycsharp.de/wbb2/thread.php?threadid=121642)


Geschrieben von Arre am 01.03.2019 um 14:44:
  FileStream findet Datei nicht, obwohl sie vorhanden ist
Hallo, liebe Gemeinde!

Ich habe mit FileStream immer wieder das Problem, dass er meine Dateien nicht findet... Und das auch, wenn ich ganz sicher bin, dass sie da sind.

Ich habe es auch schon in Unterverzeichnissen probiert (also dem Debug-Verzeichnis zum Beispiel) und diversen anderen Verzeichnissen.

Mal klappt es, mal nicht, meist nicht.

Und auch wenn ich schon versucht habe, es zu googeln oder hier im Forum nachzulesen, finde ich keine adäquate Lösung. (auch wenn das Problem selbst häufiger ist, habe ich für meinen speziellen Fall keine Lösung gefunden)

Ich schätze, dass es eher etwas mit den Zugriffsrechten zu tun hat als mit der Pfadangabe... Das ist aber nur eine Vermutung.

Ich danke für eure Hilfe!!!

Viele Grüße!
Arre


Geschrieben von T-Virus am 01.03.2019 um 15:12:
 
Da C:\ auch i.d.R. auch die Systemplatte ist und diese auch Admin Rechte zum lesen/schreiben braucht, wird es auch nicht klappen wenn du keinen Admin Benutzer hast.

Sinnvoller wäre es wenn du einen lokalen Pfad bei deiner Anwendung verwendest.
Oder hat es einen Grund warum du deine Datei direkt dort ablegen und lesen willst.
Zum arbeiten mit Pfaden solltest du dir auch mal die Path Klasse aus System.IO anschauen sowie zum prüfen ob Dateien vorhanden sind mit der Exists Methode aus der File Klasse.

Links:
 https://docs.microsoft.com/de-de/dotnet/api/system.io.path?view=netframework-4.7.2
 https://docs.microsoft.com/de-de/dotnet/api/system.io.file.exists?view=netframework-4.7.2
 [FAQ] Pfad zur eigenen Anwendung (EXE) ermitteln

T-Virus


Geschrieben von Arre am 01.03.2019 um 15:38:
 
Hallo!

Danke für Deine Antwort.

Warum ich es da hingelegt habe?
- Das war nicht der erste Versuch
- Ich wollte einen möglichst kurzen Pfad ausprobieren, um Fehler auszuschließen

Ich habe das Problem inzwischen gelöst. Das Thema kann gelöscht werden, wenn ihr es überflüssig findet. Falls jemand das gleiche Problem hat, lasse ich es aber stehen.

Das Problem war, dass ich die Datei "test.txt" benannt habe... Windows hat noch ein .txt dran gehängt... Also "text.txt.txt" Das war nicht zu sehen.

Nachdem ich ein ".txt." gelöscht habe, funktioniert es.

Das Problem mit nicht auf C: ablegen, besteht zusätzlich, in einem Unterverzeichnis ist es ohne Adminsitrator-Rechte möglich.

Tortzdem Danke für die Antwort!!!

Viele Grüße!


Geschrieben von MrSparkle am 01.03.2019 um 15:57:
 
Windows hängt nirgendwo automatisch eine Dateiendung an. Höchstens das Programm, mit dem du die Datei erstellt hast.


Geschrieben von Papst am 01.03.2019 um 16:20:
 
Der Windows Explorer macht das beim erstellen einer Datei üer Kontextmenü -> Neu -> Textdatei

und zwar genau dann, wenn "Erweiterungen bei bekannten Dateitypen" in den Ordneroptionen aktiviert ist.


Geschrieben von inflames2k am 01.03.2019 um 16:33:
 
Ja. Windows legt die Dateiendung an, wenn du über das Kontextmenü eine Textdatei erstellst. Wenn du die umbenennst musst du doch aber die Dateiendung nicht selbst noch einmal setzen.

Du verursachst damit das Problem ja selbst und nicht Windows.


Geschrieben von Stefan.Haegele am 02.03.2019 um 06:39:
 
Was aber bei einem Blick mit der Explorer sofort auffallen müsste, oder? Für mich ein typisches F-40 Problem - und allertiefste Anwendungsbasics...


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 16.11.2019 22:54