Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Citanje txt datoteke, nasi znakovi

8 views
Skip to first unread message

mah

unread,
Mar 26, 2009, 8:48:21 AM3/26/09
to
Imam problema s citanjem datoteke. Ne dobivam nase znakove.
Kako to rijesiti ako trebam pri citanju analizirati liniju po liniju.

hvala

Janko Diminic

unread,
Mar 26, 2009, 11:08:54 AM3/26/09
to

Trebas znati koji encoding datoteke imas, i taj postaviti kad ju
citas.

Josip Almasi

unread,
Mar 27, 2009, 6:20:23 AM3/27/09
to

... sto mozes napravit i pri startanju sa java
-Dfile.encoding=tvojencoding, tipicno CP-1250 ili ISO-8859-2 ili UTF-8.

Pozdrav...

mah

unread,
Mar 27, 2009, 8:52:50 AM3/27/09
to

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?

Janko Diminic

unread,
Mar 27, 2009, 9:33:33 AM3/27/09
to

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)

Josip Almasi

unread,
Mar 27, 2009, 11:30:03 AM3/27/09
to
mah wrote:
>
> PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter
> ("Out.csv")));

Fali encoding.

Pozdrav...

0 new messages