Pitäs lukee tekstitiedotosta kiinalaisia merkkejä
FileInputStream fis = new FileInputStream("test.txt");
InputStreamReader isr = new InputStreamReader(fis,"UTF8");
tämä lukee sen unicode muotoon.
Mutta sitten pitäs saada määriteltyä, kuinka monta byteä toi Unicode stringin pituus on! Miten tämä onnistuu?
FileInputStream fis = new FileInputStream("test.txt");
InputStreamReader isr = new InputStreamReader(fis,"UTF8");
tämä lukee sen unicode muotoon.
Mutta sitten pitäs saada määriteltyä, kuinka monta byteä toi Unicode stringin pituus on! Miten tämä onnistuu?
Vastaukset 7
Vanhimmat
int merkki = isr.read();
Sitte ku tulee väli, niin alkaa uus
Mikä uus välilyöntimerkistä alkaa? Sana?
Tee silmukka joka lukee tiedoston. Siinä sivussa saat tiedon unicode-merkkien määrästä, jonka voit yksinkertaisella kertolaskulla muuntaa tavujen määräksi.
Korjatkaa jos olen väärässä.. eikös unicode merkit vie aina kaksi tavua?
Niinhän se vie
Tuli mieleen että voisiko vastaus olla tälläinen:
new File("test.txt").length()
Tuo palauttaa tiedoston koon tavuina.
http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html#length()
Tällöin tavujen määrä on utf-8 koodatusta datasta.