Hirdetés
- eBay-es kütyük kis pénzért
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Magga: PLEX: multimédia az egész lakásban
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- balojazz: Szódakészítés üzembiztosan és olcsón! Figyelem, csak hardcore szódázóknak!
- Candy: AOOSTAR WTR PRO – NAS, alkoss, gyarapíts
Új hozzászólás Aktív témák
-
thon73
tag
Hátha mást is érdekel, itt a rövid logikája a próbának; egyszerűség kedvéért file helyett stringek, hibakezelés és optimalizálás nélkül. 'c' átalakítása az első ciklusba, a kiírás elé kerülhet. (ed1-ed2-ed3 egyszerűen három EditText. ed2 csak azért kódol ISO-8859-1-et, hogy lássam, hogyan is kerülnek kiírásra a byte-ok.)
Kifelejtettem a lényeget: ed1 (UTF-16 String) -> outputStream==inputStream (UTF-8 byte-array) -> ed3 (UTF-16 String). Tehát oda-vissza elvégzi az átalakítást, és nem String-gel (bár abból indul), hanem Character-folyammal dolgozik.int c;
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream, "UTF-8");
StringReader stringReader = new StringReader( ed1.getText().toString() );
while ( (c=stringReader.read()) != -1 )
{
outputStreamWriter.write( c );
}
outputStreamWriter.close();
ed2.setText( outputStream.toString("ISO-8859-1") );
ByteArrayInputStream inputStream = new ByteArrayInputStream( outputStream.toByteArray() );
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
StringWriter stringWriter = new StringWriter();
while ( (c=inputStreamReader.read()) != -1 )
{
stringWriter.write( c );
}
stringWriter.close();
ed3.setText( stringWriter.toString() );Érdekes, hogy keresgélés közben StraemReader/Writer osztályokat is átfutottam, de nem ugrott be, hogy erre van szükségem. ((Hát, látszik, hogy nem a javaba "nőttem bele", ráadásul évekig nem írtam semmi komolyat.
))A replaceEach is jó ötlet, (és ezzel visszajutottunk a túloptimalizáláshoz.) Ha legyártok egy új string-et, ami már az átalakított részeket tartalmazza, akkor áttekinthetőbbé válik a kód, ill. a fenti helyett a mentést is egy sorban meg tudom oldani. Nem nagy ár ezért az új string létrehozása, akkor sem ha több ezerszer történik meg.
Köszönöm a segítséget, az eredetitől gyökeresen eltérő logikájú kód született, de sokkal szebb, és jobb. Nem végeztem még méréseket, de nem tűnik nagyságrendekkel lassúbnak. (Gondolom, az SD kártya sebessége lesz a meghatározó...)
Új hozzászólás Aktív témák
- Gitáros topic
- Fejhallgató erősítő és DAC topik
- Házimozi belépő szinten
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Robotporszívók
- Analóg fényképezés
- Xbox tulajok OFF topicja
- Futás, futópályák
- Cyberpunk 2077
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- További aktív témák...
- Dell Latitude 7420 érintőkijelzős // Core i5 1145G7 // 16GB // 256GB // A- kategória
- Apple iPhone 14 128gb - Erősen használt, kamera nem működik, akku 85%
- Apple watch SE 2 44mm cellular akku 100%
- 0perces DDR5 5600 vadiúj 2x16GB memória 1 év garancia
- ZBook Studio 15 G8 15.6" FHD IPS i7-11850H RTX A2000 32GB 512GB NVMe ujjlolv IR kam gar
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Lenovo L13 G4 Core i5-1335U 10 mag 12 szál 16Gb Ram 256Gb NVMe Touch Boltból Számlával Garanciával
- Apple iPhone 16 128GB Bontatlan Független Összes Szín / 27% áfás ár INGYENES SZÁLLÍTÁS
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Apple Mac Pro Workstation Dual Xeon,18GB RAM,WIFI,BT,Profi Munkaállomás és Szerver
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
))