Odczytanie pliku z "innej" lokalizaji

0

Witam,

Pisze program w którym jedna z funkcji jest odczyt pliku csv i wrzucenie go do tablicy. W projekcie stworzyłem folder "DATA" a w nim umieściłem plik "czytaj.csv", problem w tym że gdy odpalam program (gdzie juz jest działajaca funkcja czytająca) wyskakuje mi blad że nie moze znaleŹć pliku. Wiem że gdy wrzuce go w lokalizacje /bin/Debug/... to go znajdzie ale po co mam przezucac pliki jak juz mam stworzony folder z nim. Pytanie brzmi jak sie do niego odwołać? Oto mój kod:

 
        string dataY = "DATA/czytaj.csv";
        string resultsFile = "DATA/resultsFile.csv";

        public VirtualOscilloscope()
        {
            InitializeComponent();
        }

        private void bTest_Click(object sender, EventArgs e)
        {
            StreamReader srY = new StreamReader(dataY);
            StreamReader srRL = new StreamReader(dataRL);
            StreamWriter swFile = new StreamWriter(resultsFile);

            for (int i = 0; i < 157; i++)
            {
                swFile.WriteLine(srY.ReadLine());
            }

            swFile.Close();
         }
0

Skoro podałeś adres względny to chyba logiczne, że będzie go tam szukał?

Albo podajesz adres względny (lepsze rozwiązanie), albo podajesz adres bezwzględny (tragiczne rozwiązanie, chyba, że tylko na czas testów, a później zmienisz na względny).

0

Ty nie masz problemu z C#/.NET lecz z podstawami pracy z komputerem. Poczytaj sobie o ścieżkach dostępu do plików.

0

dodajesz te pliki do projektu, wybierasz je i w oknie Properties w polu "Copy to Output Directory" wybierasz "Copy if newer"
w ten sposób automatycznie w Debug / Release utworzy się folder "Data" i skopiują się potrzebne pliki

co do zapisu to to nie jest dobry pomysł
Twoja aplikacja prawdopodobnie wyląduje w program files i będziesz potrzebować zwiększonych praw żeby zapisywać tam pliki
pliki powinno się zapisywać najlepiej w folderze "Moje dokumenty" (jeśli mają być łatwo dostępne dla użytkownika) albo "Dane aplikacji" (jeżeli są to... dane aplikacji); lub oczywiście w miejscu wskazanym przez użytkownika

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