hvala
Trebas znati koji encoding datoteke imas, i taj postaviti kad ju
citas.
... sto mozes napravit i pri startanju sa java
-Dfile.encoding=tvojencoding, tipicno CP-1250 ili ISO-8859-2 ili UTF-8.
Pozdrav...
Ma stavio sam i probao s raznim encodinzima ali ne prolazi.
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter
("Out.csv")));
BufferedReader tBuffR = new BufferedReader(new InputStreamReader(new
FileInputStream("TEST.TXT"), "ISO_8859-2"));
while ((tSubjectString = tBuffR.readLine()) != null) {
RegexMatcher = Regex.matcher(tSubjectString);
tSubjectString = RegexMatcher.replaceAll("$3/$4'$5");
pw.println(tSubjectString.trim());
Ima li neka fora s citanjem Byte-a a da mogu ici liniju po liniju?
U Java IO imas Character Streams i Byte Streams klase.
Nisu iste, Character Stream su Reader i Writer klase, implementacije
tih klasa
imaju u imenima klasa Writer ili Reader naziv.
Kod Byte Stream klasa one zapisuju ili citaju bytove i moras im zadati
encoding u kojem
pisu/citaju inace one uzmu defaltni koji je definiran ovisno na kojoj
platformi vrtis program.
Kod zapisivanja koristis recimo String text = "xy"; text.getBytes
(encoding);
Najlakse ti je za pisanje i citatnje u neki file koristiti lib od
jakarta commons IO.
http://commons.apache.org/io/
Tamo imas klasu IOUtils.
Recimo:
IOUtils.write(text, new FileOutputStream("file.txt"), "UTF-8");
String text = IOUtils.toString(new FileInputStream("file.txt"),
"UTF-8");
Ako trebas ici liniju po liniju nakon citanja:
new BufferedReader( new StringReader(text)).readLine()
Ili
List<String> lines = IOUtils.readLines(input, encoding)
Fali encoding.
Pozdrav...