NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Adam Matis
Člen
Avatar
Adam Matis:22.8.2017 20:58

Ahoj chtěl bych poprosit o pomoc dělám program diař při prvním spuštění, kdy chci něco uložit do souboru se má vytvořit cesta a prázdný soubor v "appdata". Soubor se sice vytvoří ale dostanu chybovou hlášku: Proces nemůže přistupovat k souboru protože je využíván jiným procesem.

public void ExistujeSoubor()
        {

            try
            {
                string cesta = "";
                cesta = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "KontaktniDiar");

                if (!Directory.Exists(cesta))
                {
                    Directory.CreateDirectory(cesta);

                }

                if (!File.Exists(Path.Combine(cesta, Soubor)))
                    {
                     File.Create(Path.Combine(cesta, Soubor));
                    }


            }

            catch
            {
                Console.WriteLine("Nemáte dostatečná opravnění");
            }


        }
public void UlozitKontakt()
        {
            ExistujeSoubor();
            using (StreamWriter sw = new StreamWriter(VratCestu(),true))
            {
                foreach (Kontakt k in kontakty)
                {
                    string[] pole = { k.Jmeno, k.Cislo.ToString(), k.Typ, k.Skupina };
                    string radek = String.Join(";", pole);
                    sw.WriteLine(radek);

                }
            }
        }
 
Odpovědět
22.8.2017 20:58
Avatar
Shade
Člen
Avatar
Shade:22.8.2017 21:04
File.Create(FilePath).Close();

File.Create soubor vytvoří a zároveň ho otevře. Musíš ho tedy zavřít :)
Další věc je, že StreamWriter si ten soubor sám vytvoří, tudíž File.Create nepotřebuješ vůbec

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
22.8.2017 21:04
Talk is cheap. Show me the code.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.