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í
×
    dnes 15:00 | Zajímavý software

    Euro-Office (Wikipedie) je evropský fork open source kancelářského balíku OnlyOffice. Za forkem stojí koalice firem IONOS, Nextcloud, Eurostack, XWiki, OpenProject, Soverin, Abilian a BTactic. Cílem je zajistit digitální suverenitu Evropy a snížit závislost na neevropských platformách. Projekt vznikl mimo jiné v reakci na nedávné uzavření cloudové služby OnlyOffice. OnlyOffice obviňuje Euro-Office z porušení licenčních podmínek. Na možné problémy upozorňuje i Collabora Online. Jednostranná změna licence není v pořádku.

    Ladislav Hagara | Komentářů: 4
    dnes 05:11 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy jednotlivých přednášek z letošního Installfestu.

    Ladislav Hagara | Komentářů: 0
    dnes 00:22 | Komunita

    Během akce Arduino Days 2026 byl publikován Arduino Open Source Report 2025 (pdf) a oznámeno 7 nových produktů kompatibilních s deskou UNO Q (Arduino USB-C Power Supply, USB-C Cable, USB-C Hub, UNO Media Carrier, UNO Breakout Carrier, Bug Hopper, Modulino LED Matrix).

    Ladislav Hagara | Komentářů: 1
    včera 20:22 | IT novinky

    Google v pátek spustil v Česku Vyhledávání Live. Tato novinka umožňuje lidem vést plynulou konverzaci s vyhledávačem v češtině. A to prostřednictvím hlasu, nebo prostřednictvím toho, na co ukážou svým fotoaparátem či kamerou v mobilu. Rozšíření této multimodální funkce je možné díky nasazení Gemini 3.1 Flash Live, nového hlasového a audio modelu, který je od základu vícejazyčný, takže umožňuje lidem po celém světě mluvit na vyhledávač přirozeně a v jazyce, který je jim nejbližší.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | Zajímavý software

    Jsongrep je open-source nástroj, který efektivně prohledává JSON dokumenty (editovat je neumí). Kompiluje regulérní jazyk dotazu do podoby deterministického konečného automatu (DFA), díky čemuž prochází strom JSON dokumentu pouze jednou a je v tom tedy rychlejší než jiné nástroje jako jsou například jq, JMESPath nebo jql. Jsongrep je napsaný v programovacím jazyce Rust, zdrojový kód je dostupný na GitHubu.

    NUKE GAZA! 🎆 | Komentářů: 4
    28.3. 05:55 | Komunita

    O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2026. Na programu je celá řada zajímavých přednášek a workshopů. Vstup na konferenci je zcela zdarma, bez nutnosti registrace. Přednášky lze sledovat i online na YouTube.

    Ladislav Hagara | Komentářů: 12
    28.3. 05:22 | Komunita

    Mozilla a společnost Mila oznámily strategické partnerství za účelem rozvoje open source a suverénní AI. Cílem je ukázat, že open source AI může konkurovat uzavřeným systémům. Obě organizace chtějí posílit technologickou suverenitu a snížit závislost na hrstce velkých technologických firem.

    Ladislav Hagara | Komentářů: 4
    28.3. 04:00 | Humor

    Adam Rice předvedl, že pomocí DNS lze distribuovat a spustit kompletní hru DOOM. Rozdělil WAD soubory a binárky do téměř 2000 DNS záznamů v Cloudflare zóně (jeden TXT záznam v DNS může nést okolo 2000 znaků textu). Ty pak stáhl PowerShellem, dekomprimoval a spustil přímo v paměti počítače bez nutnosti zápisu na disk, což prakticky dokazuje, že DNS může sloužit jako distribuované úložiště dat a možný kanál pro načítání kódu. Repozitář projektu je na GitHubu.

    NUKE GAZA! 🎆 | Komentářů: 9
    27.3. 13:00 | Komunita

    Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.

    Ladislav Hagara | Komentářů: 9
    27.3. 12:11 | Nová verze

    Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (30%)
     (3%)
     (5%)
     (2%)
     (14%)
     (24%)
    Celkem 1187 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník

    Dotaz: Java: mezery v zapsaném souboru (začátečník)

    5.8.2009 14:43 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
    Java: mezery v zapsaném souboru (začátečník)
    Přečteno: 782×

    Dobrý den,
    potřebuji na rychlo vyrobit program v Javě do jednoho projektu. Javě moc nerozumím, tak mě berte s rezervou. Cílem je aby třída (momentálně definováno jako proměnné) obsahovala kód shell skriptů, které budou vzdáleným voláním zapsány na disk a spuštěny. Pokud však takový skript zapíšu do cílového adresáře (Linux, 32-bit, x86), obsahuje jeho kód mezeru (resp. znak NULL dle hexa editoru) za každým znakem.
    Příklad:

    (originální kód v Java třídě)
    this.file = "#!/bin/sh\n" +
    :
    :
    "	lines=$(expr $(wc -l $TARGET|sed 's/^ *//'|cut -d \" \" -f 1) \"-\" 2)\n" +
    "	head -n $lines $TARGET > $TEMP\n" +
    "	cat $SOURCE >> $TEMP\n" +
    "	tail -n 2 $TARGET >> $TEMP\n" +
    :
    :
    
    (kód zapsaný do souboru)
    	 l i n e s = $ ( e x p r   $ ( w c   - l   $ T A R G E T | s e d   ' s / ^   * / / ' | c u t   - d   "   "   - f   1 )   " - "   2 ) 
     	 h e a d   - n   $ l i n e s   $ T A R G E T   >   $ T E M P 
     	 c a t   $ S O U R C E   > >   $ T E M P 
     	 t a i l   - n   2   $ T A R G E T   > >   $ T E M P 
    (kód zodpovědný za zápis stringu)
    File file = new File(this.script);
    DataOutputStream stream = new DataOutputStream(new FileOutputStream(file));
    stream.writeUTF(this.install); // zkoušel jsem i writeChars -- žádná změna
    return 0;

    Data shell skriptů nemohu umístnit mimo třídu. Ptám se tedy -- jak se zbavím mezer v souboru? A dále, existuje nějaká "lepší" možnost zápisu většího množství dat (podobně jako třeba v Perlu) do Stringu či jiné datové struktury (kterou pak vyplivnu do souboru), tak, abych nemusel každý řádek dávat do úvozovek a spojovat operátorem +...s tím, aby však zápis byl stejně přehledný.

    Odpovědi

    5.8.2009 15:20 Jan Trávníček | skóre: 10 | blog: ehonza | Existuje
    Rozbalit Rozbalit vše Re: Java: mezery v zapsaném souboru (začátečník)

    Zdravim. V javadocu (java.sun.com/j2se/1.4.2/docs/api/java/io/DataOutputStream.html) je popsáno jak se chovají jednotlivé metody. Ai by bylo výhodnější použít writeBytes(). Protože writeChars() a pravděpodobně i writeUTF() zapisuje znaky po 2 bytech.

    To mess up a Linux box, you need to work at it; to mess up your Windows box, you just have to work on it.
    5.8.2009 15:24 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
    Rozbalit Rozbalit vše Re: Java: mezery v zapsaném souboru (začátečník)

    Díky. Myslel jsem si správně, že právě tam bude problém. Po přepnutí editoru do UTF-16 se text zobrazil správně. K vyřešení mi pomohla následující metoda z diskuse u FAQ na jGuru:

    /* convert from internal Java String Format -> UTF-8 encoded HTML/JSP-Pages  */
    public static String convertToUTF8(String s) {
      String out = null;
      try {
        out = new String(s.getBytes("UTF-8"));
      } catch (java.io.UnsupportedEncodingException e) {
        return null;
      }
      return out;
    }

    Nyní string před zápisem překóduji na UTF-8 a je po problému.

    5.8.2009 15:37 ZAH | skóre: 43 | blog: ZAH
    Rozbalit Rozbalit vše Re: Java: mezery v zapsaném souboru (začátečník)
    Dle mne je nejjednodušší použít třídu java.io.OutputStreamWriter a její podtřídy. Viz konstruktory
    OutputStreamWriter(OutputStream out)
              Creates an OutputStreamWriter that uses the default character encoding.
    OutputStreamWriter(OutputStream out, Charset cs)
              Creates an OutputStreamWriter that uses the given charset.
    OutputStreamWriter(OutputStream out, CharsetEncoder enc)
              Creates an OutputStreamWriter that uses the given charset encoder.
    OutputStreamWriter(OutputStream out, String charsetName)
              Creates an OutputStreamWriter that uses the named charset.
    
    5.8.2009 15:26 ZAH | skóre: 43 | blog: ZAH
    Rozbalit Rozbalit vše Re: Java: mezery v zapsaném souboru (začátečník)
    Problém bude při zápisu do souboru. Pošlete sem kód, kterým zapisujete. Jinak podobné texty je nejlépe normálně uložit jako textový soubor do balíku programu. Stream se zdrojem získáte ve třídě pomocí this.getClass.getResourceAsStream(fileName);
    5.8.2009 21:03 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Java: mezery v zapsaném souboru (začátečník)
    Nepoužívejte DataOutputStream, ale Writer, zde se konkrétně bude hodit PrintWriter. Při vytváření je vhodné nadefinovat kódování souboru, jinak se použije kódování platformy (což bude správně, pokud je počítač, kde spouštíte program, zároveň cílovým počítačem pro skripty a je tam správně nastavené locale; ale je to nevhodné,pokud chcete výstupní kódování nějak řídit). DataOutputStream slouží k serializaci Java objektů.
    6.8.2009 00:06 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
    Rozbalit Rozbalit vše Re: Java: mezery v zapsaném souboru (začátečník)
    Díky za reakce, někdy se opravdu nevyplácí webové tutorialy typu "Writing files in Java" brát moc vážně :-)

    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.