Wczytywanie sciezki do pliku

0

Witam
Chce sobie napisac aplikacje w WF i napotkałem taki problem ze za pomoca openfiledialog otwieram plik i odczytuje jego nazwa za pomoca safefilename. Zapisuje to w zmiennej openedfile typu string i wpisuje ta zmienna w sciezce do filestream. Leczy gdy chce np odswiezyc to co wyswietla w pliku to wyrzuca ze sciezka nie moze byc zerowa.

Dalem specjalnie zeby wyswietlilo mi wczesniej messagebox z nazwa pliku i wyswietla poprawnie czyli wczytuje ok. Lecz pozniej sie psuje:/

1

Ja rozwiązałem to tak zrobiłem z toolboxa FolderBrowsingDialog i napisałem tam


public partial class Form1 : Form
    {
        FolderBrowserDialog fbd = new FolderBrowserDialog();

To jest przed forma następnie utworzyłem richtextbox i dałem mu cos takiego(jakby co fbd to nazwa zmiennej)


richTextBox1.Text = (fbd.SelectedPath + "\\Nazwa Folderu");

a wczesniej dodałem


fbd.RootFolder = Environment.SpecialFolder.Desktop;

oznacza to że startowy folder to będzie pulpit

0

mi nie chodzi o sam folder tylko o dokladnie jeden plik

0

No to to własnie jest ta "Nazwa Folderu" w 2 kodzie w c# tam możesz dac jaki folder tylko chcesz i za pomoca komend manipulować nim

0

ale chce otworzyc plik txt i na nim dzialac
dopisywac do niego i wyswietlac zawartosc

i potrzebuje tylko sciezke do tego pliku

0

To, przepraszam z tego co wiem da się zrobić to w c++ bardzo prosto ale ci nie pomogę bo sam szukam pomocy w tym zakresie.

0

Ok spoko

ktos cos ?

EDIT

ok znalazlem problem a jest taki ze nie otwiera pliku takiego jakie chce tylko po prostu tak jakby openfiledialog nie pobieralo nic

0

A my mamy oczywiście wywróżyć co masz nie tak, bo kodu podać nie raczysz?

0

Scieżka siedzi we właściwości FileName.

0
somekind napisał(a):

A my mamy oczywiście wywróżyć co masz nie tak, bo kodu podać nie raczysz?

kurcze sorry :(

zaraz dorzuce kod

Wczytywanie pliku

private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
        {
            openedfile = openFileDialog1.SafeFileName;
            MessageBox.Show(openedfile);
        } 

Wyswietlanie tego co w pliku

private void refresh_Click(object sender, EventArgs e)

    {
            Choose_file chf = new Choose_file();
            MessageBox.Show(chf.openedfile);
            using (FileStream fr = new FileStream(chf.openedfile, FileMode.Open, FileAccess.Read))
            {
                StreamReader sr = new StreamReader(fr);
                string text = sr.ReadToEnd();
                string[] lines = text.Split('\r');
                foreach (string s in lines)
                {
                    listBox1.Items.Add(s);
                }
                refresh.Enabled = false;
            }

    } 

Problem zdiagnozowalem taki ze po pobraniu pliku Od razu w zmiennej nazwa pliku sie znajduje, lecz przy wyświetaniu (nacisnieciu przycisku refresh) zmienna jest juz pusta.

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