[ spartanac86 @ 15.11.2008. 13:00 ] @
Imam sledeci problem:

BufferedReader reader = new BufferedReader(new FileReader(file));
String t_s = new String(reader.readLine().getBytes(), "UTF-8");
Login.hc_pass = Dekodiranje.DekodirajSimple(t_s);

Na racunaru na kome je po defaultu encoding Cp1252 string se cita pravilno, a na drugom sa istim .exe fajlom (ili .jar svejedno) gde je Cp1250 ne ucitava se (encoduje) pravilno.

Probao sam da menjam u kodu default encoding pomocu:
java.lang.System.setProperty("file.encoding", "Cp1252");

ali i dalje se string ne cita pravilno.

Ne znam kako ovo da resim. U pitanju je string koji sadrzi iskodiranu lozinku po nekom simple algoritmu. Najbolje bi bilo mozda ucitati bajtove direktno pa onda raditi encodovanje i pretvaranje u String....Ali ne znam koju funkciju za to da koristim? readLine() mi vraca String, a meni treba readLine koji bi samo vratio niz bajtova sve dok ne naidje na znak za novi red.
I istovremeno mi treba bufferovan I/O, zato sam koristio BufferedReader.
?
[ Dejan Lozanovic @ 16.11.2008. 12:59 ] @
A ovako da procitas, pod uslovom da i podatke kad zapisujes zapisujes ih direktno u UTF-8 formatu.

Code:

BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));


Druga stvar ako vec hoces da se igras sa zastitom i cuvanjem lozinki , onda je bolje koristiti neku vrstu jednoprolaznog algoritma, nesto tipa md5sum ili sha1. Pa kada ti treba poredjenje onda veselo imas sacuvanu u tom kriptovanom rezimu, zatim kad proveravas lozinku ti novu lozinku opet kodiras, i proveravas oba stringa koji su u md5.
[ spartanac86 @ 17.11.2008. 19:36 ] @
ok hvala, radi super onako kako si naveo.

pozdrav