C# i zapis do pliku

  • Rejestracja: dni
  • Ostatnio: dni
0

Witam, mam taki oto problem.

Kopiuj
            if(!File.Exists(@"D:\plik4.txt"))
            {
                File.Create(@"D:\plik4.txt");
            }
            FileStream fs = new FileStream(@"D:\plik4.txt", FileMode.Open, FileAccess.Read);
 

Jeśli plik nie istnieje to go tworzę, ale potem ostatnia linijka kodu rzuca wyjątek że niby plik "D:\plik4.txt" jest używany przez inny proces. Metoda File.Create tworzy plik i powinna go zostawić w spokoju, nie rozumiem czemu w ten sposób to nie działa. Z góry dziękuję za pomoc.

xeo545x39
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kosmos
  • Postów: 1571
0

Nie potrzebnie się tak bawisz. Wystarczy zmienić FileMode na Append w konstruktorze. Jeżeli nie ma pliku, to zostanie utworzony, jeżeli jest to zostanie otwarty, więc robi praktycznie to samo tylko, że krócej:

Kopiuj
FileStream fs = new FileStream(@"D:\plik4.txt", FileMode.Append);
abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
2

i OCZYWIŚCIE czytałeś help i OCZYWIŚCIE wiesz co ZWRACA File.Create i nie dało ci to do myślenia...

UT
  • Rejestracja: dni
  • Ostatnio: dni
0

Po zakończeniu zapisu/odczytu użyj metody Close().

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

Zobacz co robią metody:

File.ReadAllLines()
File.ReadAllText()
File.WriteAllLines()
File.WriteAllText()

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.