• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C# wyjątek z wczytywaniem z pliku

Object Storage Arubacloud
0 głosów
82 wizyt
pytanie zadane 28 czerwca 2016 w C# przez niezalogowany

Witam, napisałem funkcję w której wczytuję z pliku i cały czas wyrzuca mi wyjątek, nie wiem jak to zrobić pomimo że plik istnieje i samemu mogę je edytować, otwierać usuwać itd. Plik też nie jest tylko do odczytu. Oto kod:

 private void WczytanieZPliku()
        {
            File.Create("Bezpiecznik.txt");
            File.Create("Cewka.txt");
            File.Create("Diak.txt");
            File.Create("Dioda.txt");
            File.Create("Dlawik.txt");
            File.Create("Kondensator.txt");
            File.Create("Mostek.txt");
            File.Create("Potencjometr.txt");
            File.Create("Rezystor.txt");
            File.Create("Stabilizator.txt");
            File.Create("Termistor.txt");
            File.Create("Transformator.txt");
            File.Create("Tranzystor.txt");
            File.Create("Triak.txt");
            File.Create("Trymer.txt");
            File.Create("Tyrystor.txt");

            string[] dane = File.ReadAllLines("Bezpiecznik.txt");
            for (int i = 0; i < dane.Length; i += 3)
                Bez.Add(new Bezpiecznik(float.Parse(dane[i]), float.Parse(dane[i + 1]), dane[i + 2]));

            dane = File.ReadAllLines("Cewka.txt");
            for (int i = 0; i < dane.Length; i++)
                Cew.Add(new Cewka(float.Parse(dane[i])));

            dane = File.ReadAllLines("Diak.txt");
            for (int i = 0; i < dane.Length; i++)
                Dia.Add(new Diak(dane[i]));

            dane = File.ReadAllLines("Dioda.txt");
            for (int i = 0; i < dane.Length; i += 3)
                Dio.Add(new Dioda(float.Parse(dane[i]), dane[i + 1], dane[i + 2]));

            dane = File.ReadAllLines("Dlawik.txt");
            for (int i = 0; i < dane.Length; i++)
                Dla.Add(new Dlawik(float.Parse(dane[i])));

            dane = File.ReadAllLines("Kondensator.txt");
            for (int i = 0; i < dane.Length; i += 2)
                Kon.Add(new Kondensator(float.Parse(dane[i]), float.Parse(dane[i + 1])));

            dane = File.ReadAllLines("Mostek.txt");
            for (int i = 0; i < dane.Length; i++)
                Mos.Add(new Mostek(float.Parse(dane[i])));

            dane = File.ReadAllLines("Potencjometr.txt");
            for (int i = 0; i < dane.Length; i++)
                Pot.Add(new Potencjometr(float.Parse(dane[i])));

            dane = File.ReadAllLines("Rezystor.txt");
            for (int i = 0; i < dane.Length; i += 2)
                Rez.Add(new Rezystor(float.Parse(dane[i]), float.Parse(dane[i + 1])));

            dane = File.ReadAllLines("Stabilizator.txt");
            for (int i = 0; i < dane.Length; i++)
                Sta.Add(new Stablizator(dane[i]));

            dane = File.ReadAllLines("Termistor.txt");
            for (int i = 0; i < dane.Length; i += 2)
                Ter.Add(new Termistor(float.Parse(dane[i]), dane[i + 1]));

            dane = File.ReadAllLines("Transformator.txt");
            for (int i = 0; i < dane.Length; i += 5)
                Trans.Add(new Transformator(float.Parse(dane[i]), float.Parse(dane[i + 1]), float.Parse(dane[i + 2]), float.Parse(dane[i + 3]), dane[i + 4]));

            dane = File.ReadAllLines("Tranzystor.txt");
            for (int i = 0; i < dane.Length; i += 2)
                Tranz.Add(new Tranzystor(dane[i], float.Parse(dane[i + 1])));

            dane = File.ReadAllLines("Triak.txt");
            for (int i = 0; i < dane.Length; i++)
                Tri.Add(new Triak(dane[i]));

            dane = File.ReadAllLines("Trymer.txt");
            for (int i = 0; i < dane.Length; i++)
                Try.Add(new Trymer(float.Parse(dane[i])));

            dane = File.ReadAllLines("Tyrystor.txt");
            for (int i = 0; i < dane.Length; i++)
                Tyr.Add(new Tyrystor(dane[i]));
        }

 

1 odpowiedź

0 głosów
odpowiedź 2 lipca 2016 przez Dorion300 Szeryf (90,250 p.)
wybrane 2 lipca 2016
 
Najlepsza
Metoda statyczna "Create" zwraca obiekt o typie "FileStream".

Oznacza to że tworzysz plik, ale także otwierasz strumień do plików.

Musisz ten strumień zamknąć za pomocą metody "Close()"

Czyli w sumie wystarczy takie coś:
=> File.Create("plik").Close(); <=

Wiesz że File.Create usuwa całą zawartość w pliku jeśli istnieje już ten plik?
komentarz 2 lipca 2016 przez niezalogowany
Nie wiedziałem, dzięki.

Podobne pytania

+1 głos
2 odpowiedzi 1,106 wizyt
pytanie zadane 9 lutego 2021 w C# przez disaster Bywalec (2,120 p.)
+3 głosów
1 odpowiedź 140 wizyt
pytanie zadane 31 marca w C# przez ross Nowicjusz (150 p.)
+1 głos
1 odpowiedź 217 wizyt
pytanie zadane 2 września 2016 w C i C++ przez jankustosz1 Nałogowiec (35,880 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...