Kezdőoldal » Számítástechnika » Programozás » Fájlba írás, kérdőjelek az...

Fájlba írás, kérdőjelek az ékezetes karakterek helyett? (JAVA NetBeans 8.2)

Figyelt kérdés

Van 1 txt fájl ahol több száz angol szó van és azoknak a szavaknak a magyar jelentései. A sorokban az első szó angol majd egy tabulátorral elvan választva a magyar jelentése, a többi jelentés pedig vessző + szóközzel. Így néz ki:


word (tab) adott szó,(szóközök) hír, ige, közmondás, parancsszó, ígéret, jelszó, megszövegez, parancs, szólás, üzenet, szentírás...


Annyit szeretnék, hogy beolvasom a txt fájlt, egy kóddal megformázom, majd egy másik txt fájlba szeretném kiírni. De futtatás után az ékezetes karakterek helyén kérdőjelek jelennek meg.


import java.io.BufferedReader;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.FileReader;

import java.io.IOException;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import java.io.UnsupportedEncodingException;

import java.nio.charset.Charset;

import java.nio.charset.StandardCharsets;


public class SzotarSzovegFormazo {


public static void main(String[] args) {


try {

FileReader fr = new FileReader("C:\\Users\\Boby\\Desktop\\projects\\Szótár\\planning\\abc másolata\\a.txt");

BufferedReader br = new BufferedReader(fr);


PrintWriter pr = new PrintWriter("C:\\Users\\Boby\\Desktop\\projects\\Szótár\\planning\\a1.txt", "UTF-8");

FileOutputStream fout = new FileOutputStream("C:\\Users\\Boby\\Desktop\\projects\\Szótár\\planning\\a1.txt");

OutputStreamWriter os = new OutputStreamWriter(fout, StandardCharsets.UTF_8);


String sor;

try {

while ((sor = br.readLine()) != null) {

String[] s = sor.split("\t");

for (int i = 0; i < s.length; i++) {

s[0] = s[0].concat("\t");

os.write(s[i]);

}

os.write("\n");

}

os.close();

fout.close();

fr.close();


} catch (IOException ex) {

System.out.println(ex);

}


} catch (FileNotFoundException ex) {

System.out.println(ex);

} catch (UnsupportedEncodingException ex) {

System.out.println(ex);

}


}


}



2020. dec. 14. 05:26
 1/2 A kérdező kommentje:
Először PrintWriter-rel próbálkoztam, majd az OutPutStream-el...
2020. dec. 14. 05:36
 2/2 anonim ***** válasza:
65%
Gyanús, hogy a ciklusmagon belül hiba van, mindig az első elemhez adsz tabulátort, nem az aktuálishoz. Amúgy a karakterkódolás lesz a probléma, a forrás és a cél nem ugyan az. A forrásfájlt konvertáld UTF-8 kódolásúra, az az alapértelmezett a Javaban.
2020. dec. 14. 06:44
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!