Nadpisanie pliku SaveFileDialog

Forum poświęcone językowi C#.

Moderator: xxSlayeRxx

Nadpisanie pliku SaveFileDialog

Sponsor

Sponsor
 

Nadpisanie pliku SaveFileDialog

Postprzez maniek910 » Pt maja 09, 2014 12:59 pm

Mam mały problem, otóż mam poniższy kawałek kodu
Kod: Zaznacz cały
private void button1_Click(object sender, EventArgs e)
        {
            SaveFileDialog f = new SaveFileDialog(); // create object f to methode save file dialog
            f.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
            f.RestoreDirectory = true;
            if (f.ShowDialog() == DialogResult.OK)
            {
                using (Stream s = File.Open(f.FileName, FileMode.CreateNew))
                using (StreamWriter sw = new StreamWriter(s))
                {
                    sw.Write("Coś do zapisania");
                }
                MessageBox.Show(f.FileName, "Poniższy plik został zapisany."); // informacja po zapisie
            }
        }


Otwiera okienko wybieram miejsce do zapisu pliku no i elegancko zapisuje, problem pojawia się gdy plik o takiej nazwie już istnieje i chce go nadpisać. Kompilator zwraca problem że plik już istnieje, i tu moje pytanie, jak można temu przeciwdziałać ?

Z góry dzięki za odpowiedz .
maniek910
Member
 
Posty: 11
Dołączył(a): N kwi 27, 2014 7:48 pm

Re: Nadpisanie pliku SaveFileDialog

Postprzez ToNi » Pt maja 09, 2014 3:10 pm

Kod: Zaznacz cały
using (StreamWriter sw = new StreamWriter(s, false))
                {
                    sw.Write("Coś do zapisania");
                }


drugi parametr StreamWritera okresla, czy dopisac do pliku czy nadpisac. Dodatkowo

SaveFileDialog.OverwritePrompt okresla czy ma wyskakiwac okienko z pytaniem o padpisanie czy nie
ToNi
Member
 
Posty: 116
Dołączył(a): Cz lis 15, 2012 11:06 pm

Re: Nadpisanie pliku SaveFileDialog

Postprzez maniek910 » Pt maja 09, 2014 10:27 pm

Niestety w takiej formie kompilator wyrzuca 2 błędy
Kod: Zaznacz cały
Argument 2: cannot convert from 'bool' to 'System.Text.Encoding'   


i
Kod: Zaznacz cały
The best overloaded method match for 'System.IO.StreamWriter.StreamWriter(System.IO.Stream, System.Text.Encoding)' has some invalid arguments   
maniek910
Member
 
Posty: 11
Dołączył(a): N kwi 27, 2014 7:48 pm

Re: Nadpisanie pliku SaveFileDialog

Postprzez xxSlayeRxx » So maja 10, 2014 11:38 am

nie tak:
Kod: Zaznacz cały
using (Stream s = File.Open(f.FileName, FileMode.CreateNew))
                using (StreamWriter sw = new StreamWriter(s))
                {


ale tak:
Kod: Zaznacz cały
 using (StreamWriter sw = new StreamWriter(f.FilleName, false))
                {
xxSlayeRxx
Member
 
Posty: 661
Dołączył(a): Pt lip 08, 2011 10:24 pm

Re: Nadpisanie pliku SaveFileDialog

Postprzez maniek910 » Pn maja 12, 2014 11:31 am

Bardzo dziękuję działa :)
maniek910
Member
 
Posty: 11
Dołączył(a): N kwi 27, 2014 7:48 pm

Re: Nadpisanie pliku SaveFileDialog

Sponsors

Sponsor
 


Powrót do C#

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 6 gości