Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
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.