Vypsání jmen souborů do txt v C# .NET

C# .NET Práce se soubory Zdrojákoviště Vypsání jmen souborů do txt v C# .NET

Program na jedno použití, jednoduše potřeboval kamarád všechny jména mých MP3 v PC. Je to trošku ošetřené, protože říkal že to bude chtít používat. Takže když to spustíte a soubor už existuje tak se přidá o číslo větší. Soubor se vytvoří ve složce odkud je soubor spuštěn s názvem files.txt.

1.1.0 - Code + exceptions improved.

Program byl vytvořen v roce 2013.

 

Stáhnout

Staženo 271x (35.1 kB)
Aplikace je včetně zdrojových kódů v jazyce C#

 

  Aktivity (1)

Program pro vás napsal Jan Vargovský
Avatar
Autor se věnuje vývoji enterprise softwaru v .NETu.

Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!


 



 

 

Komentáře
Zobrazit starší komentáře (7)

Avatar
Kit
Redaktor
Avatar
Kit:

K uvolnění toho souboru: Připadá mi to jako nosit na kalhotách pásek i šle. Pokud to buguje, je to bug v systému, který by se měl nahlásit a opravit.

Aha, já zapomněl, že to není komu nahlásit a že to nemá kdo opravit :)

Odpovědět 21.7.2013 23:46
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Kit
Jan Vargovský:

Řekl bych, že když pracuješ s databází tak si jí taky musíš nejdřív otevřít a nakonci zavřít, tady by se to mělo sice starat samo, ale po vlastním přesvědčení to někdy nedělá, dál jsem to nesledoval. Hold platí pravidlo, že každý program má alespoň jednu chybu :)
Každopádně jsem to trošku zlepšil, aby to mělo alespoň minimální úroveň.

 
Odpovědět 21.7.2013 23:58
Avatar
Odpovídá na Jan Vargovský
Luboš Běhounek (Satik):

using vzdy stream i DB zavira, problem musel byt jinde :)

Odpovědět  +1 22.7.2013 0:02
:)
Avatar
Kit
Redaktor
Avatar
Odpovídá na Jan Vargovský
Kit:

Databázi většinou stačí COMMIT, ale pokud je nastavený AUTOCOMMIT (default v MySQL) tak se nemusíš starat ani o to.

Pokud using občas soubor nezavře, je to bug.

Odpovědět 22.7.2013 0:20
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Michal Žůrek (misaz):

Jan Vargovský a Kit: Close volat nemusíš, ale riskuješ vyplýtvání paměti a dřív nebo později ti aplikace spadne. Lepší je zápis uzavřít do bloku Using, kde k tomu nedojde.

Odpovědět 22.7.2013 6:54
Nesnáším {}, proto se jim vyhýbám.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Kit:

Bavíme se o tom, že Jan Vargovský má uvnitř using(sw...) i metodu sw.Close(), která je podle mne zbytečná. Jan Vargovský však má nepříjemnou zkušenost v tom, že když ji tam nedá, tak mu to občas vyhazuje chyby. I když using použije.

Odpovědět  +1 22.7.2013 7:45
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Michal Žůrek (misaz):

samozřejmě že je tam zbytečná, jen si musí uvědomit, že paměť se uvolní až po dokončení celého usingu takže uvedeu příklad. Potřebuje projít 2 000 000 souborů. Máme na výběr dvě možnosti:
a.)

using (...)
{
    for (int i = 0; i < 2000000; i++)
    {

    }
}

b.)

for (int i = 0; i < 2000000; i++)
{
    using (...)
    {

    }
}

u a. hned dojde paměť, protože ona se uvolní až se projede všech 2 000 000 souborů, což je pozdě, zatímco u b se bude paměť čistit postupně, tedy paměť bude vždy v pořádku. To je asi jediná chyba, kterou lze udělat u používání using.

Editováno 22.7.2013 8:16
Odpovědět 22.7.2013 8:16
Nesnáším {}, proto se jim vyhýbám.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Kit:

Vypadá to, že jsi ten jeho program vůbec neviděl.

Odpovědět  +1 22.7.2013 8:23
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Michal Žůrek (misaz):

To byl jen příklad, kde může vzniknout chyba.

Odpovědět 22.7.2013 8:33
Nesnáším {}, proto se jim vyhýbám.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Kit:

Tímhle způsobem chyba vzniknout nemůže, pokud soubory neotevíráš mimo parametry using, což by bylo v rozporu s pravidly.

Odpovědět 22.7.2013 8:37
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
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 17. Zobrazit vše