Hirdetés
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- TCL LCD és LED TV-k
- Fejhallgató erősítő és DAC topik
- Apple MacBook
- Milyen TV-t vegyek?
- Kormányok / autós szimulátorok topikja
- Hobby elektronika
- Új Xeonokkal szorongatná meg az Intel az AMD-t
- Miért tűntek el a buta tévék?
Ú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
- Apple iPhone 17 - alap
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Temu
- Samsung Galaxy A54 - türelemjáték
- sziku69: Fűzzük össze a szavakat :)
- Energiaital topic
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Csípőből tolja Helix a konyhai melót
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Elektromos autók - motorok
- További aktív témák...
- XFX RX 9070 XT 16GB GDDR6 Swift Triple Fan Gaming Edition - Új, bontatlan, 2 év gari - Eladó!
- Komplett Pc-k,félgépek,Dell,Lenovo,HP,9.gen-ig,új és használt egyaránt,számla,garancia
- Dell Precision 7760 17.3" 4K IPS i7-11850H RTX A4000 32GB 512GB NVMe gar
- X13 Gen2i 13.3" FHD+ IPS i5-1145G7 16GB 256GB NVMe magyarított (lézerezett) vbill gar
- Playseat evolution red bull
- Telefon felvásárlás!! Honor Magic6 Lite, Honor Magic6 Pro, Honor Magic7 Lite, Honor Magic7 Pro
- Telefon felvásárlás!! Samsung Galaxy A12/Samsung Galaxy A22/Samsung Galaxy A32/Samsung Galaxy A52
- LG 65QNED86T3A / QNED / 65" - 164 cm / 4K UHD / 120Hz / HDR Dolby Vision / FreeSync Premium / VRR
- Bomba ár! Dell Latitude 5400 - i5-8265U I 16GB I 512SSD I 14" HD I HDMI I Cam I W11 I Gari
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest
))

