Wczytywanie danych z pliku txt do dwuwymiarowej tablicy

0

Cześć, jak wczytać do dwuwymiarowej tablicy plik tekstowy, w którym są cztery kolumny i np 100 wierszy? Każda kolumna oddzielona jest spacją.

0
  1. Wczytaj do tablicy string[100] za pomocą File.ReadAllLines("C:\plik.txt");.
  2. W pętli przejdź po tej tablicy, wywołując na każdym stringu metodę Split i jej wynik (tablicę) wstaw do swojej dwuwymiarowej tablicy.
0

Piszę programik na języki programowania, potrzebuję wykonać dokładnie tę samą operację co osoba wyżej.

Stoję tutaj.

string nazwaPliku = "plikicw.txt";
            string[] tablica = null;
            //obliczanie liczby wierszy w pliku
            int ile = 0;
            foreach (string line in File.ReadAllLines("plikicw.txt"))
                if (line != String.Empty) ++ile;
            tablica = new string[ile];
 
            Console.WriteLine("Liczba wierszy w pliku: {0}", ile);
            Console.WriteLine("Liczba wierszy w tablicy: {0}", tablica.Rank);
            //odczyt pliku
            StreamReader sReader2 = new StreamReader(nazwaPliku);
            int liczbaKolumn=4;
 
            string[,] tablicaDwuwymiarowa = new string[ile, liczbaKolumn];
 
for (int i = 0; i < ile; i++)
            {
                Console.WriteLine(tablica[i]);
                tablica = sReader2.ReadLine().Split(',');
 
                Console.WriteLine("Tablica jednowymiarowa");
                Console.WriteLine(tablica[i]);
 
                for (int j = 0; j < liczbaKolumn; j++)
                {
                    tablicaDwuwymiarowa[i, j] = tablica[i];
                    Console.WriteLine("Tablica dwuwymiarowa");
                    Console.WriteLine(tablicaDwuwymiarowa[i, j]);
                }
            }

Wydaje mi się, że problemem wynika ze "Splitowania" najpierw 1 wiersza pliku, a następnie jego pierwszy element, wrzucany jest do tablicy i to on jest ponownie "Splitowany", co daje efekt ciągłego wpisywania w tablicy dwuwymiarowej pierwszych wyrazów wierszy z pliku, ale mogę być w błędzie.

Niestety nie mam pojęcia jak to skorygować, a byłabym niezmiernie wdzięczna za pomoc.
To zaledwie część mojego programu, a bez niego jestem w lesie...

0

A po co Ci w ogóle ten StreamReader, skoro File.ReadAllLines pozwala odczytać wszystkie linie z pliku od razu do tablicy?

Poza tym Rank to nie liczba wierszy tablicy, lecz jej wymiarów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1