Java-pomalé práce se souborem...

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
Václav Sedlář
Žlutá karta Bazar
Žlutá karta Bazar
Registrován: 01. dub 2006
Bydliště: Liberec
Kontaktovat uživatele:

Java-pomalé práce se souborem...

Příspěvek od Václav Sedlář »

Dobrý den, tvoří v javě jeden program, který už funguje, ale má jeden problém (není tak závažný,ale štve mě...)

V programu hojně používám zápis a čtení souboru, kde je uloženo něco takového:

Kód: Vybrat vše

Čísloxxxxx¤Text1¤den-číslo¤měsíc-číslo¤rok-číslo¤jmeno¤přijmeni¤text2¤
Toto tam je hodně krát a problém je když je to tam třeba nad 3000 krát...a použiji normální načítání txt souboru pomocí BufferedReader, tak to načítá ten soubor minutu...nedalo by se to nějak zrychlit (jak načítání, tak hlavně čtení)?

Zkoušel jsem použít na čtení DataInputStream a zápis DataOutputStream ->tedy binárně, ale nějak jsem nedokázal překročit velikost souboru 61kb při zápisu-víc jsem prostě nezapsal a vytvořilo to 0kb soubor...

Někdo říkal, že zkusit použít ObjectOutputStream a ObjectInputStream, jenže toto jaksi ještě neumím použít...

Mohl by někdo poradit, popř. vytvořit optimální kod jen pro zápis a čtení souboru?Je to sice detail, protože v reálu bude v souboru max 1500 záznamů, ale...

Důležitá podmínka-potřebuju předávat k zápisu řetezec string a naopak při načítání potřebuju obsah souboru dostat do stringu...!!!!

Děkuji za pomoc
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Re: Java-pomalé práce se souborem...

Příspěvek od OndraSter »

Načítáš soubor najednou nebo po kusech?
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32


Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
Václav Sedlář
Žlutá karta Bazar
Žlutá karta Bazar
Registrován: 01. dub 2006
Bydliště: Liberec
Kontaktovat uživatele:

Re: Java-pomalé práce se souborem...

Příspěvek od Václav Sedlář »

Najednou....protože pak s tím vždy potřebuji pracovat najednou v poli string....ale asi to nechám být-konečně se mi povedlo rozchodit ten zápis a čtení pomocí ObjectOutputStream a ObjectInputStream...při testu kdy jsem v souboru měl 5800 položek to načítalo 2mibuty 2 sekundy.a to jde...

Ale řeším nový problém-k některým funkcím používám zabezpečení heslem,takže se uživateli zobrazí okno kam zadá heslo (místo zadávaných znaků se objevují tečky=ok,ale pak musí uživatel kliknout na tlačítko ok,ale já bych potřeboval,aby se zadané heslo mohlo potvrdit entrem-jak se to dělá?děkuji...
Václav Sedlář
Žlutá karta Bazar
Žlutá karta Bazar
Registrován: 01. dub 2006
Bydliště: Liberec
Kontaktovat uživatele:

Re: Java-pomalé práce se souborem...

Příspěvek od Václav Sedlář »

Václav Sedlář píše: ...Ale řeším nový problém-k některým funkcím používám zabezpečení heslem,takže se uživateli zobrazí okno kam zadá heslo (místo zadávaných znaků se objevují tečky=ok,ale pak musí uživatel kliknout na tlačítko ok,ale já bych potřeboval,aby se zadané heslo mohlo potvrdit entrem-jak se to dělá?děkuji...
Nikdo neví? :?
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Re: Java-pomalé práce se souborem...

Příspěvek od OndraSter »

Neznám Javu a jejich "winforms" framework, ale pokud to nejde nějak přímo (nastavit tomu oknu "potvrzovací tlačítko" (= tlačítko, když se stiskne enter) na OK) tak chytat klávesy do toho textboxu a pokud jeho hexa == enteru, vyfajrovat event pro stisknutí tlačítka OK.
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32


Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
Václav Sedlář
Žlutá karta Bazar
Žlutá karta Bazar
Registrován: 01. dub 2006
Bydliště: Liberec
Kontaktovat uživatele:

Re: Java-pomalé práce se souborem...

Příspěvek od Václav Sedlář »

OndraSter píše:...nastavit tomu oknu "potvrzovací tlačítko" (= tlačítko, když se stiskne enter) na OK
hmm,to jsem ještě nezkoušel...zkusím tuto možnost najít a dám vědět...díky
Václav Sedlář
Žlutá karta Bazar
Žlutá karta Bazar
Registrován: 01. dub 2006
Bydliště: Liberec
Kontaktovat uživatele:

Re: Java-pomalé práce se souborem...

Příspěvek od Václav Sedlář »

hmm, tak jsem prošel celej netbeans a zatím se mi povedlo to udělat jen tak, že když kliknu myší kamkoliv do okna, tak se provede to, jako bych kliknul na tlačítko ok...

Je tam ještě nějaká funkce keypressed (používá se KeyListener),ale to zas funguje na jakoukoliv klávesu a nepřišel jsem na to, jak nastavit jen určitou klávesu...
djgeneral
Žlutá karta Bazar
Žlutá karta Bazar
Registrován: 21. říj 2006
Bydliště: ČB, Praha

Re: Java-pomalé práce se souborem...

Příspěvek od djgeneral »

Musíš v metodě keyPressed(KeyEvent e) zavolat kód co se má vykonat až po splnění určité podmínky (stisknutá klávesa byla enter)

Kód: Vybrat vše

public void keyPressed(KeyEvent e) {
    if(e.getKeyCode() == KeyEvent.VK_ENTER){
        //perform something...
    }
}
Václav Sedlář
Žlutá karta Bazar
Žlutá karta Bazar
Registrován: 01. dub 2006
Bydliště: Liberec
Kontaktovat uživatele:

Re: Java-pomalé práce se souborem...

Příspěvek od Václav Sedlář »

hustý-moc děkuji-funguje to...

Kód: Vybrat vše

private void keyPressed(java.awt.event.KeyEvent evt) {
        if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
            jButton8ActionPerformed(null);
        }
    }
Odpovědět

Zpět na „Programování a web“