Otwiranie pliku na Smart Device

0

Jak otworzyć plik który znajduje się w tym samym miejscu co plik exe? Ja napisałem coś takiego ale mi wywala błąd podczas próby zapisu danych.

            string path = Path.Combine(Directory.GetCurrentDirectory(), @"lista_graczy.txt");
            TextWriter gracze = new StreamWriter(path, true);
            gracze.WriteLine(textBox1.Text.ToString());
            gracze.WriteLine(textBox2.Text.ToString());
            gracze.WriteLine(textBox3.Text.ToString());
            gracze.WriteLine(textBox4.Text.ToString());
            gracze.WriteLine(textBox5.Text.ToString());
            gracze.WriteLine(textBox6.Text.ToString());

            gracze.Close(); 

Udało mi się dojść do czegoś takiego:

                string appName = Assembly.GetCallingAssembly().GetName().CodeBase;
                string appPath = Path.GetDirectoryName(appName);
                appPath = Path.Combine(appPath, @"lista_graczy.txt");

                File.Delete(appPath);

                TextWriter gracze = new StreamWriter(appPath, true);
                gracze.WriteLine(textBox1.Text.ToString());
                gracze.WriteLine(textBox2.Text.ToString());
                gracze.WriteLine(textBox3.Text.ToString());
                gracze.WriteLine(textBox4.Text.ToString());
                gracze.WriteLine(textBox5.Text.ToString());
                gracze.WriteLine(textBox6.Text.ToString());

                gracze.Close();

 

Ale dalej mi nie działa

Bardzo proszę o pomoc :)

1
string path = Path.Combine(Directory.GetCurrentDirectory(), @"lista_graczy.txt");
            TextWriter gracze
= new StreamWriter(path, true);

zamień po prostu na

TextWriter gracze = new StreamWriter(@"lista_graczy.txt", true);
0
MSM napisał(a)
TextWriter gracze = new StreamWriter(@"lista_graczy.txt", true);

Takie coś nie przejdzie na SmartDevice.

@mati1988k - może tak:

string filePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName) + @"lista_graczy.txt";
0

Niestety nie działa :/ stworzyło mi plik mydevice/windows/xxx.txt a program jest w zupełnie innym miejscu.

0

nazwę pliku powinien poprzedzać slash. Czyli zamiast:

...  + @"lista_graczy.txt"; 

powinno być:

...  + @"\lista_graczy.txt"; 

Ale nie wiem dlaczego tworzy plik w katalogu windows. Deploy'ując z vs w emulatorze tworzy w katalogu program files\nazwaprojektu\ i wszystko działa bez problemu. Kopiując plik wykonywalny do dowolnwgo katalogu również działa.
kod, który działa u mnie:

string filePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName) + @"\test.txt";
using (StreamWriter sw = new StreamWriter(filePath)) {
    sw.WriteLine(filePath);
}

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