Diskuze: Zápis do souboru
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 20 zpráv z 20.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Přímo tady na webu je výbornej tutoriál o práci se soubory v Javě:
http://www.itnetwork.cz/java/soubory
Ohľadom práce so súbormi by som skôr odporučil tento tutoriál, http://docs.oracle.com/…/fileio.html,
nakoľko popisuje lepšie a modernejšie API.
Můžeš upřesnit jaké modernější API máš na mysli? Když jsme články psal, dával jsem si záležet, aby to bylo co nejmodernější, používám tam TWR a podobně. Navíc manuál Javy je velmi nekvalitní, nejen, že je nepřehledný sám o sobě, ale ani nemají zvýrazněné zdrojáky.
Mám na mysli java.nio, triedy Files, Path, a podobne ako alternatívu k
veciam predstaveným napr. v tomto článku: http://www.itnetwork.cz/…-soubory-txt.
nio bolo pritom prístupné už od Javy 4, alebo 5, teraz presne neviem.
S neprehladnostou dokumentácie máš pravdu, ale napríklad aj odkaz ktorý som
dával vyššie obsahuje dodatočné množstvo informácii.
Files pokud vím (v té dokumentaci se prostě nevyznám) umožňuje jen věci jako načíst všechny řádky atd. To je pro velké soubory nepoužitelné, proto takové API neučím, učím co je univerzální.
Pracuji s dokumentací několika jazyků a ta Javy je naprosto
nedostatečná, tady se neshodneme 
Dokumentace k javě je otřesná. 3 hodiny jsem tam hledal něco použitelného k výjimkám. Pak jsem se na to vykašlal a odvodil to ze C#.
Files obsahuje presne rovnakú funkcionalitu ako tá, ktorá bola
predstavená tebou v tom článku: http://docs.oracle.com/…io/file.html#…
akorát toho zvládne ešte omnoho viac.
Můžeš prosím uvést konkrétní kód, který přes třídu Files načte jen několik řádek ze souboru? Odkazy na dokumentaci mně a většině lidí bohužel nepomohou.
Veď to nie je dokumentácia, ale tutoriál k NIO (ten link mohol zmiasť
kedže sa začína na docs.oracle
):
Charset charset = Charset.forName("US-ASCII");
try (BufferedReader reader = Files.newBufferedReader(file, charset)) {
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException x) {
System.err.format("IOException: %s%n", x);
}
To je predsa len dobre, keď je to podobné starému API, nie?
Určite by sa páni vývojári nenamáhali s prekopaním celého IO API, ak by
na to nebol pádny dôvod 
Není to podobné, je to stejné. Files má na sobě jen nějakou metodu, co si vnitřně vytvoří reader a načte ty všechny řádky. Jinak se dělá vše stejně. Co je popsané tady je správně a aktuální.
Dobre, tak dajme tomu, že konkrétne v tomto prípade je to jedno (aj keď
je možné že implementácia statickej newBufferedReader môže obsahovať
nejaké užitočné veci),
v 2. článku série o súboroch je popisovaná trieda File,
tam už je ten rozdiel v API dosť výrazný.
Navyše, citujem:
Prior to the Java SE 7 release, the java.io.File class was the mechanism used for file I/O, but it had several drawbacks.
Many methods didn't throw exceptions when they failed, so it was impossible to obtain a useful error message. For example, if a file deletion failed, the program would receive a "delete fail" but wouldn't know if it was because the file didn't exist, the user didn't have permissions, or there was some other problem.
The rename method didn't work consistently across platforms.
There was no real support for symbolic links.
More support for metadata was desired, such as file permissions, file owner, and other security attributes.
Accessing file metadata was inefficient.
Many of the File methods didn't scale. Requesting a large directory listing over a server could result in a hang. Large directories could also cause memory resource problems, resulting in a denial of service.
It was not possible to write reliable code that could recursively walk a file tree and respond appropriately if there were circular symbolic links.
Files nedělá nic jiného, než že používá ty třídy, které tu já popisuji. Není to ani žádná abstrakce, jak jsi viděl, tak s nimi stejně musíš umět zacházet. Proto je potřeba, aby se to lidé učili tak, jak je to tu ukázané, chápeš?
Do konverzace jsem vstoupil proto, že to z tvého "lepší a modernější" vypadalo, jako by se tu učilo něco starého a nepotřebného. Ale tomu tak není.
Máš pravdu, z tej strany som sa na to nepozeral.
Nie je na škodu poznať tebou popísané veci, avšak kedže tam nie je žiadna zmienka o NIO, väčšina čitateľov by si mohla myslieť, že nič podobné neexistuje, a preto to kvôli tomu nepoužívať.
To je fakt. Nechceš o tom napsat nějaký článeček? 
Niekedy cez víkend by som mohol skúsit čosi zosmolit 
Zobrazeno 20 zpráv z 20.
