NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
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í.

Diskuze – Lekce 2 - Úvod do práce se soubory

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Odpovídá na kidal5
Michal Štěpánek:23.8.2014 14:33

Path.Combine() se používá tam, kde se chceš dostat do určité složky (Dokumenty, AppData, apod) protože ti jednoduše pomůže s cestou a nemusíš jí psát "natvrdo"...

Odpovědět
-1
23.8.2014 14:33
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na kidal5
Jan Vargovský:23.8.2014 14:48

Spojí ti to cesty do jedné, ale ono je to interně trošku inteligentnější než klasické spojení stringů a přidání lomítek mezi ně.

Ano, dá se to několika způsoby:

  1. dáš kurzor na třídu (nebo metodu, vlastnost, ...), kterou chceš prozkoumat a zmáčkneš F12 - tady ti to ukáže jen signatury metod + summary komentáře (ty co ti ukazuje VS)
  2. najdeš si knihovnu na disku a projedeš si jí dotPeekem od JetBrains - dekompiluješ jejich knihovny - vidíš kód jak vypadá po kompilaci (bez komentářů)
  3. Někde online je jsou vyvěšené .NET zdrojáky i s komentáři, nakonec jsem ti to i našel - http://referencesource.microsoft.com/#…
 
Odpovědět
+2
23.8.2014 14:48
Avatar
kidal5
Člen
Avatar
Odpovídá na Jan Vargovský
kidal5:23.8.2014 17:11

Díky moc :)

 
Odpovědět
23.8.2014 17:11
Avatar
František Pastorek:19.10.2014 15:38

Ako to ze mi tento kod nefunguje. Ak zadam nazov subora tak mi ho normalne vytvori v pripade ze neexistuje. Ak existuje tak ho samozrejme nevytvori ale ani neprebehne catch. Jednoducho to catch vobec neprebehne.

string path = @"\Files\";
path = path + textBox1.Text + ".txt";

if (!Directory.Exists(@"\Files"))
{
     Directory.CreateDirectory(@"\Files");
}

try
{
     if (!File.Exists(path))
     {
          File.Create(path);
          textBox2.Text = textBox2.Text + "Subor " + path + " bol uspesne vytvoreny." + Environment.NewLine;
          textBox1.Text = "";
     }
}
catch
{
     textBox2.Text = textBox2.Text + "Chyba pri vytvoreni subora. Subor " + path + " uz existuje." + Environment.NewLine;
}
Editováno 19.10.2014 15:42
 
Odpovědět
19.10.2014 15:38
Avatar
Lukáš Křehula:19.10.2014 16:50

//Musíš oddělat tu podmínku v Try
Špatně jsem odpověděl, v try máš celou podmínku, do Try dej jenom File.Create(path);

     if (!File.Exists(path))
{
    try
    {
        File.Create(path);
        textBox2.Text = textBox2.Text + "Subor " + path + " bol uspesne vytvoreny." + Environment.NewLine;
        textBox1.Text = "";
    }
    catch
    {
        textBox2.Text = textBox2.Text + "Chyba pri vytvoreni subora. Subor " + path + " uz existuje." + Environment.NewLine;
    }
}
Editováno 19.10.2014 16:54
 
Odpovědět
+1
19.10.2014 16:50
Avatar
David.Landa
Člen
Avatar
David.Landa:23.3.2015 15:57

Není ten if nadbytečný?

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

Dokumentace říka, pokud adresář existuje, pak se ho nepokusí vytvořit znovu.

Editováno 23.3.2015 15:58
 
Odpovědět
+1
23.3.2015 15:57
Avatar
pracansky
Člen
Avatar
pracansky:12.4.2015 17:07

%appdata% je cesta do profilu jednoho uživatele ale co když potřebuji uložit nastavení které je společné pro všechny?

Jsou tam je složky jako "All Users","Default User","Default"...
Nerudovská otázka kam s ním?

 
Odpovědět
12.4.2015 17:07
Avatar
blazoid
Člen
Avatar
blazoid:30.10.2015 20:26

Ahoj, mám potíže se třídou "Directory" - když začnu psát Directory, našeptávač mně to nabídne, ovšem jakmile začnu psát tečku a Exists, začne to řvát, že typ "Exists" není ve jmenném prostoru Directory - absolutně se mi tedy nedaří vytvořit:

if (!Directory.E­xists(cesta))
Directory.Cre­ateDirectory(ces­ta);

 
Odpovědět
30.10.2015 20:26
Avatar
Richard H.
Tvůrce
Avatar
Odpovídá na blazoid
Richard H.:30.10.2015 21:53

Zkus ignorovat ide a pokus se to zkompilovat pak uvidíš jesli je chyba u tebe nebo u ide.

Odpovědět
30.10.2015 21:53
Malý užitečný manuál je vždy lepší než bichle k ničemu.
Avatar
blazoid
Člen
Avatar
Odpovídá na Richard H.
blazoid:31.10.2015 17:08

Bohužel to při kompilaci vypíše následující:

Error 1 'bool' does not contain a definition for 'Exists' and no extension method 'Exists' accepting a first argument of type 'bool' could be found (are you missing a using directive or an assembly reference?) C:\BLAZEK\C#\Di­rectory\Direc­tory\Directory\Pro­gram.cs 23 32 Directory

Error 2 'bool' does not contain a definition for 'CreateDirectory' and no extension method 'CreateDirectory' accepting a first argument of type 'bool' could be found (are you missing a using directive or an assembly reference?) C:\BLAZEK\C#\Di­rectory\Direc­tory\Directory\Pro­gram.cs 24 31 Directory

  • následně mně to nabídne, zda chci spustit poslední verzi (tedy tu co se naposledy podařilo zkompilovat)...
 
Odpovědět
31.10.2015 17:08
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 10 zpráv z 32.