abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 1
včera 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 5
včera 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 0
včera 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
včera 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
včera 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
1.12. 15:16 | Komunita

Na GOG.com začal zimní výprodej. Řada zlevněných her běží oficiálně také na Linuxu. Hru Neverwinter Nights Diamond lze dva dny získat zdarma. Hra dle stránek GOG.com na Linuxu neběží. Pomocí návodu ji lze ale rozběhnout také na Linuxu [Gaming On Linux].

Ladislav Hagara | Komentářů: 1
1.12. 13:14 | Bezpečnostní upozornění

Byla vydána verze 2.7.1 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Řešeno je několik bezpečnostních problémů. Aktualizován byl především Tor Browser na verzi 6.0.7. Tor Browser je postaven na Firefoxu ESR (Extended Support Release) a právě ve Firefoxu byla nalezena a opravena vážná bezpečnostní chyba MFSA 2016-92 (CVE-2016-9079, Firefox SVG Animation

… více »
Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 759 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Osetreni vyjimky JAVA

11.12.2009 11:14 Pavel
Osetreni vyjimky JAVA
Přečteno: 379×
Ahoj, jak v programu, kde ctu textovy soubor osetrim vyjimku, ze soubor nelze cist?? nejak nevim, kdy tato vyjimka muze nastat?:-( a ani nevim, ktera vyjimka to je??

(Uz mam osetrene vyjimky IOException a FileNotFoundException....)

Predem diky za rady


Řešení dotazu:


Odpovědi

11.12.2009 11:27 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Osetreni vyjimky JAVA
Možná by to chtělo vědět jak soubor čtete - od toho se odvíjí vyjímky co mohou nastat.
Ale jinak každá fce má většinou dokumentaci, a tam lze zjistit kdy jaká vyjímka nastává :)
Nelze číst - může být i z důvodu nedostatku volné paměti
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
11.12.2009 11:43 Pavel
Rozbalit Rozbalit vše Re: Osetreni vyjimky JAVA
ahoj, dik za reakci :-)

davam sem kod moji metody i se zadanim:

http://pastebin.com/m4db49001

pokud soubour neni nalezen, je to vpohode(vypise Soubor nenalezen) pokud nastane naka jina chyba, tak je to taky vpohode

jen nevim,jaka je vyjimka ze nelze cist....??

diky
11.12.2009 11:49 razor | skóre: 32
Rozbalit Rozbalit vše Re: Osetreni vyjimky JAVA
Myslíš ten IllegalAccessError? To bych vůbec nechytal. http://java.sun.com/j2se/1.4.2/docs/api/java/lang/IllegalAccessError.html
11.12.2009 11:57 Pavel
Rozbalit Rozbalit vše Re: Osetreni vyjimky JAVA
ano, cetl a pokud to dobre chapu, tak je vyvolana, pokud zkousi cist neco, k cemu nema pristup??

takhle zni zadani: Pokud soubor nebude možné císt, bude vypsána hláška "Soubor nelze cist." a program bude ukoncen.

co si pod tim teda mam predstavit?? kdy nastane?
11.12.2009 12:15 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Osetreni vyjimky JAVA
Jak píše razor IllegalAccessError bych dal pryč a dal tam IOException(do vnějšího ošetření) a co se týče ošetření to, dle mého, splní zadání

ad. stimhle mam problem, nevim ktera vyjimka to je?

Bych to v tomto případě viděl jen na vyjímku IOException

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
11.12.2009 12:15 impact | skóre: 11 | blog: _
Rozbalit Rozbalit vše Re: Osetreni vyjimky JAVA

V Java API dokumentacii pre BufferedReader methodu read sa pise o IOException:

IOException - If an I/O error occurs
Urcite by si mal osetrit tuto vynimku. A na koniec mozes osetrit aj vseobecnu Exception, od ktorej su odvodene vsetky ostatne vynimky.
Řešení 1× (impact)
11.12.2009 12:25 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Osetreni vyjimky JAVA
Ne, můžeš musíš :)
Zadání přepsáno do řeči vyjímek (v tomto připadě) odpovídá:
  • FileNotFoundException −> Pokud soubor neexistuje
  • IOException −> Pokud soubor nebude možné číst
  • Exception −> Nastane-li jakákoli jiná chyba
A stačí jedno ošetření (1× try) na celý kód, protože vše, v tomto případě, je práce ze souborem. :)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
11.12.2009 12:22 kulik
Rozbalit Rozbalit vše Re: Osetreni vyjimky JAVA
Pro zjisteni zda lze ze souboru cist bych si zavolal na instanci File canRead(), stejne tak pro zjisteni zda soubor existuje exists(). Vyjimkami bych se zabyval az pak.
11.12.2009 12:49 Pavel
Rozbalit Rozbalit vše Re: Osetreni vyjimky JAVA
tak se to poupravil, ale porad to nejde.....

pridavam kod + vysledky validace :

http://pastebin.com/m66459cda
11.12.2009 12:58 kulik
Rozbalit Rozbalit vše Re: Osetreni vyjimky JAVA
Viz dokumentace!!! Konstruktor FileReader vyhodi FileNotFoundException pokud "file does not exist, is a directory rather than a regular file, or for some other reason cannot be opened for reading". Udelej to jak jsem ti radil vyse.
11.12.2009 13:19 Pavel
Rozbalit Rozbalit vše Re: Osetreni vyjimky JAVA
promin, ale ja nejak nechapu, jak mam tyto metody volat??

Ty metody se podle ukazky volaji nad souborem, ale ja tady zadny novy nevytvarim a neni mi jasne, jak metodu zavolat nad tim souborem co uz je vytvorenej....??

tohle je mi jasne: File f1 = new File("f.txt"); System.out.println(f1.exists() ? "exists" : "does not exist"); System.out.println(f1.canRead() ? "is readable" : "is not readable");

ale jak to pouzit vmem programu nevim:-(

(? neco jako nazevSouboru.canRead();
11.12.2009 13:33 kulik
Rozbalit Rozbalit vše Re: Osetreni vyjimky JAVA
V tvem programu jako v jakemkoliv jinem. File predstavuje abstrakci nad soubory, kdyz zavolam new File(), zadny novy soubor mi nikde nezvnikne. Pri programovani je opravdu je potreba cist dokumentaci a nevkladat jasne definovanym terminum jine intuitivni vyznamy. Ale abych byl konstruktivni:
File file = new File(nazevSouboru);
if (! file.exists()) {
  ...
}
if (! file.isReadable()) {
  ...
}
try {
  BufferedReader vstup = new BufferedReader(new FileReader(file));
  ...
Jinak pro postupne nacitani nepouzivej String ale StringBuilder nebo StringBuffer, bude to rychlejsi (i kdyz tady o to asi tolik nejde).

11.12.2009 13:54 Pavel
Rozbalit Rozbalit vše Re: Osetreni vyjimky JAVA
aha, no ja sem v programovani zacatecnik, takze mi porad neco nejde, porad neco nechapu, porad se na neco ptam, hledam....

myslis, ze takhle uz by to mohlo chodit?? http://pastebin.com/m5af6154b (je to zdrojovej kod celeho DU....)

a taky bych rad slysel nakou kritiku na muj program - jak by se to dalo efektivneji resit, co je spatne, .......

diky moc
11.12.2009 14:23 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: Osetreni vyjimky JAVA
Chodit by to snad mohlo (i když jsem to popravdě moc nezkoumal) ale máš tam jeden velký problém, který se nazývá duplicita kódu.
if (pismeno == 'a') {
                cetnostA++;
                if (cetnostA < 10) {
                    pole[0][j] = cetnostA;
                } else {
                    int pom = cetnostA / 10;
                    int pom2 = cetnostA % 10;
                    pole[0][j] = pom;
                    pole[1][j] = pom2;
                }
            }
...tohle je nejžhavější kandidát na samostatnou funkci. Jinak nerozumím proč ukládáš zvlášť jednotky a zvlášť desítky, ale jsem psal, moc jsem to nestudoval.
Překladač ti nikdy neřekne: "budeme kamarádi"
11.12.2009 14:33 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: Osetreni vyjimky JAVA
Tak na druhé přečtení vidím, že program jasně nebude splňovat podmínky zadání, pokud četnost nějakého znaku bude větší než 99. Moje doporučení je ukládat četnosti jen do jednorozměrného pole, rozklad na řády si pak uděláš až při výpisu pomocí dělení a zbytků po dělení 10 (něco takového už máš). Jelikož to už budeš mít v poli, tak zaházej proměnné cetnostX. Pole indexuj číslem, které získáš přetypováním char na byte a odečtením 97 (viz. ASCII tabulka). Program se ti zkrátí na pětinu a nezešedivíš, pokud tam budeš chtít udělat nějaké změny/opravy.
Překladač ti nikdy neřekne: "budeme kamarádi"
11.12.2009 14:38 kulik
Rozbalit Rozbalit vše Re: Osetreni vyjimky JAVA
Jen strucne:

Ke String/StringBuilder uz jsem se vyjadroval vyse.

Definovat promennou pro citac kazdeho pismene je desne, stejne tak vlastni vetev if, tak by zadny program opravdu vypadat nemel. Pro toto konkretni zadani lze vyuzit ulozeni citacu v poli podle ascii kodu znaku, ktere, nebo obecne pro libovolne znaky bych udelal Map<Character, Integer> a cital to tam (ale bylo by to mnohem mene efektivni z hlediska rychlosti), kazdopadne by byla jedna promenna pro citac a jeden citajici blok, napr:
  int counter[26];
  for (int i = 0; i < len; i++) {
    int asciiVal = (int) vstup.charAt(i);
    if (asciiVal >=97 && asciiVal <= 122) {
      int idx = asciiVal - 97;
      counter[idx] += 1;
      toPrint[i] = counter[idx];      
    }  
  }
Tisk cetnosti na radky pod sebou bych resil az nakonec, tve reseni s dvojrozmernym polem jednak prenasi prezentacni etail do logiky se kterou vubec nesouvisi, jednak nemuzes vedet zda ta cetnost nebude mit vice cifer nez dve. Tzn. zaznamenej si ty cetnosti jako cisla a az dojde na jejich tisk, tak to teprve res (muzes si behem nacitani napriklad udrzovat maximum ze vsech cetnosti, abys vedel kolik radku je treba na konci vytisknout).

Ulohu lze resit bez nacitani souboru do pameti (to bych preferoval), ale malicko se tim zeslozituje to vytisknuti cetnosti pod sebou, protoze neni predem znama delka radku - to ale jde lehce resit treba samozvetsujicim se polem pro citac (tzn. kdyz uz mi pole nestaci, alokuju si nove treba dvakrat vetsi, stare si do nej presunu a jedu dal). Proste kazdy znak co nactes vypises na vystup (+ transformace newline) a nacitas do citace, k nacteni do stringu neni zadny duvod.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.