Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Počítač řádků II v JavaFX

Java JavaFX Zdrojákoviště Počítač řádků II v JavaFX

Unicorn College ONEbit hosting Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Počítač řádků je jednoduchý program, který Vám pomůže zjistit přibližnou velikost Vašeho projektu.

Cesty k souborům mohou být pohodlně přidány přetažením do textové oblasti. Cesty mohou být relativní - vůči adresáři, ve kterém byl program spuštěn. Adresáře jsou procházeny rekurzivně.

Podporované jazyky: C, C++, C#, Clojure, CSS, Erlang, Groovy, HTML, Java, JavaScript, Lua, Objective-C, Pascal, PHP, Python, Scala, VBScript, Visual Basic, XML (FXML, XSL, XSD)

Zjišťované informace

  1. Typ – typ souboru nebo programovací jazyk
  2. Soubory – počet analyzovaných souborů. Pokud dojde k chybě při čtení, tak se soubor nezapočítává.
  3. Velikost v bajtech – souhrnná velikost analyzovaných souborů v bajtech
  4. Řádky
    1. kód – počet řádků s kódem (= 4.d - 4.b - 4.c)
    2. komentáře – počet řádek zabírajících komentáře (nepočítají se prázdné řádky uvnitř blokových komentářů)
    3. prázdné – počet řádek obsahujících jen bílé znaky
    4. celkem – součet tří předcházejících
  5. Znaky
    1. komentáře – počet znaků uvnitř komentářů (včetně whitespace)
    2. odsazení – počet mezer nebo tabulátorů k prvnímu znaku (počítá se i uvnitř blokových komentářů)
    3. whitespace – součet veškerých "bílých znaků"
    4. celkem – součet veškerých znaků (včetně whitespace)

Tip: Kliknutím do záhlaví se obsah seřadí podle hodnot ve sloupce.

Filtrování souborů

Dialogové okno pro filtrování souborů je možné vyvolat kliknutím na tlačítko s ikonou filtru (po pravé straně od vstupního textového pole).

Regulární výraz může být aplikován buď jen na název souboru (např.: soubor.txt) nebo na absolutní cestu k souboru (např.: C:\Dokumenty\soubor.txt).

Mějte na paměti

  • Textové dokumenty jsou načítány s kódováním UTF-8, Windows-1250 nebo ISO 8859-2.
  • Parser nepodporuje vnořené komentáře. (Ve většině jazyků stejně nejsou.)

Ke spuštění je vyžadována minimálně Java 8u40. Program se neinstaluje ani v počítači nezanechává žádná data.

Při psaní jsem hleděl na objektový návrh a čistý kód. Používal jsem nejnovější knihovny a rozhraní (JavaFX, NIO, Stream API aj.).

Repozitář se zdrojovými kódy: https://github.com/…e-Counter-II


Galerie

Program byl vytvořen v roce 2015.

 

Stáhnout

Staženo 187x (219.97 kB)
Aplikace je včetně zdrojových kódů v jazyce java

 

 

Program pro vás napsal Hartrik
Avatar
Jak se ti líbí článek?
8 hlasů
Autor měl dříve programování jen jako hobby, nyní studuje informatiku na vysoké škole.
Miniatura
Všechny články v sekci
Zdrojákoviště Java - JavaFX
Aktivity (1)

 

 

Komentáře

Avatar
Michal Žůrek (misaz):10.8.2014 12:01

zrovna minulý týden jsem dělal něco podobného (byť jednodušího), které prakticky umí jen posčítat řádky v souborej jejcihž název projde regexem, asi to krápek rozšířím a publikuji. Budeš mít konkurenci ]:>

Odpovědět 10.8.2014 12:01
Nesnáším {}, proto se jim vyhýbám.
Avatar
Hartrik
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Hartrik:10.8.2014 12:59

Také ještě chystám rozšíření. Konkurence se nebojím :P

 
Odpovědět 10.8.2014 12:59
Avatar
Jan Demel
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Jan Demel:11.8.2014 10:01

Když jsme u té konkurence. Rozšiřte to o podporu PHP a u mě vyhrajete :D

Odpovědět 11.8.2014 10:01
To co se zdá být nemožné, je vždy možné.
Avatar
Matěj Kripner
Redaktor
Avatar
Matěj Kripner:13.8.2014 18:32

Krásný, přehledný, precizní, objektový a srozumitelný kód... I když, možná jenom vidím ten kontrast s mým kódem :D

Odpovědět 13.8.2014 18:32
To understand what recursion is, you must first understand recursion.
Avatar
Hartrik
Redaktor
Avatar
Hartrik:21.8.2014 14:16

Nahrána nová verze s následujícími novinkami:
• filtrování souborů regulárními výrazy
• výstup z aplikace pomocí JavaScriptu
• tlačítko pro vyčištění vstupního pole
• dialog pro výběr souborů
• grafy
• podpora dalších jazyků

 
Odpovědět 21.8.2014 14:16
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:1.9.2015 16:35

Mohl bys tam prosím přidat možnost nastavení vlastní přípony nebo alespoň natvrdo přidat *.phtml jako HTML šablony? Je to nejpoužívanější HTML šablona... Takových pseudoformátů by se dalo vymyslet spoustu, které jsou jen variacemi na jiné jazyky, bylo by fajn kdyby tam šly naklikat, třeba že scss je to samé jako css a podobně. Nebo tam alespoň zavést, aby to počítalo i ve formátech které nezná, je mi jasné, že to nebude vynechávat komentáře, ale v současné verzi to nefunguje pro *.phtml vůbec.

Odpovědět 1.9.2015 16:35
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Hartrik
Redaktor
Avatar
Odpovídá na David Čápka
Hartrik:1.9.2015 18:35

Teď jsou tam všechny typy souborů definované přímo v nějaké třídě. Vypadá to, že by nemělo být složité načítat je z konfiguračního souboru.
Tak bych to asi vyřešil tímto způsobem.
Pokud by tam něco chybělo, upravil by se XML soubor uvnitř jaru.

 
Odpovědět 1.9.2015 18:35
Avatar
Hartrik
Redaktor
Avatar
Hartrik:16.9.2015 18:51

Změny v nové verzi

parsování komentářů – zcela přepracováno; nyní pomocí regulárních výrazů. Nově je brán ohled také na oblasti, ve kterých jsou komentáře ignorovány (především řetězcové literály).
Spolu s opravou několika menších chyb jsem tak konečně vyřešil všechny problémy, o kterých jsem věděl. Ověřeno testy

uživatelské konfigurační soubory – podrobněji popsáno zde

další způsoby exportu – uložení tabulky jako obrázek nebo do HTML

změny v UI – nejvýraznější je asi progress bar zobrazující aktuální postup

 
Odpovědět 16.9.2015 18:51
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 8 zpráv z 8.