Zamysleni se nad kontrolou souboru – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Zamysleni se nad kontrolou souboru – Java – Fórum – Programujte.comZamysleni se nad kontrolou souboru – Java – Fórum – Programujte.com

 

Anonym
~ Anonymní uživatel
454 příspěvků
6. 4. 2017   #1
-
0
-

Dava vam nejaky smysl tahle podminka?

if ((file != null) && (!file.exists() || !file.isFile()))

Podle me to moc smysl nedava. Pouzil bych:

if (!file.exists() || !file.isFile())

Nahlásit jako SPAM
IP: 212.79.110.–
Kit+15
Guru
6. 4. 2017   #2
-
0
-

#1 Anonym
Co to tvé řešení bude dělat, pokud file == null?

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Anonym
~ Anonymní uživatel
454 příspěvků
6. 4. 2017   #3
-
0
-

#2 Kit
Pravda, asi je to nakonec nejbezpecnejsi reseni :-)

Nahlásit jako SPAM
IP: 212.79.110.–
Kit+15
Guru
6. 4. 2017   #4
-
0
-

#3 Anonym
Ještě můžeš použít návrhový vzor NullObject. Pak bys mohl použít i to své řešení.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Anonym
~ Anonymní uživatel
454 příspěvků
6. 4. 2017   #5
-
0
-

#4 Kit
Myslis to tak, ze bych ten file rovnou pri zalozeni inicializoval na null?

Nahlásit jako SPAM
IP: 212.79.110.–
Kit+15
Guru
6. 4. 2017   #6
-
0
-

#5 Anonym
Ne. NullObject je něco jiného. Má stejné rozhraní jako běžný objekt, ale při volání metod obvykle nic nedělá, protože je má prázdné, bez příkazů. Používá se to právě pro zjednodušení volání bez testu na null. Například pokud chceš vypnout logování, logovací objekt uděláš typu NullObject. Když pak odněkud zavoláš 

log.error("Chybové hlášení");

nestane se vůbec nic. Takové logování si však kdykoli můžeš zapnou tak, že do "log" přiřadíš instanci logovací třídy. Je to velmi praktické.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Anonym
~ Anonymní uživatel
454 příspěvků
6. 4. 2017   #7
-
0
-

#6 Kit
Teoreticky te chapu, ale prakticky bych pouzil presne to, co jsem popisoval. Mohl bys mi prosim napsat ukazku kodu, jak bys ten logovací objekt zalozil typu NullObject? Trochu me to ted cele zmatlo.

Nahlásit jako SPAM
IP: 212.79.110.–
Kit+15
Guru
6. 4. 2017   #8
-
0
-

#7 Anonym

Loggable log = new NullLog();
// na jiném místě:
log.error("Chybová hláška");
// Metoda error() nebude nic dělat a nic se nevypíše.

// Jindy, např. dle příznaku v konfiguraci, vytvoříš instanci jinak:
Loggable log = new Log("file.log");
// v ostatních místech programu však stále zůstává:
log.error("Chybová hláška");
// Chybová hláška se zapíše do souboru.
Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Anonym
~ Anonymní uživatel
454 příspěvků
6. 4. 2017   #9
-
0
-

#8 Kit
Uz chapu, super, diky!

Nahlásit jako SPAM
IP: 212.79.110.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 31 hostů

Podobná vlákna

Upload souboru nad 10MB — založil Profi

Problém s kontrolou. — založil vamvam

Taková na zamyšlení... — založil Garret Raziel

Rada s kontrolou vstupu — založil Jirka

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý