Avatar billede astengaard Nybegynder
17. februar 2002 - 17:22 Der er 3 kommentarer og
1 løsning

Konverter ascii-datafil til database

Jeg har en datafil bestående af ASCII-karakterer, som jeg gerne vil læse ud i en database.

Filen er genereret af et gammelt DOS-program, så æ har hex-værdien 92, ' har hex-værdien 9D og å har værdien 8F.

I øjeblikket læser jeg filen ind på følgende måde:

BufferedReader in = new BufferedReader(new FileReader(inputFil));
String input;
while((input = in.readLine()) != null) {

og så gemmer jeg substrings af input-strengen i DB'en. Almindelige tegn går fint, men de specielle bliver helt forkerte. Jeg har forsøgt følgende, men uden held:

input = input.replace('\u0092','Æ');

Håber I kan hjælpe mig...
Avatar billede guldner Nybegynder
18. februar 2002 - 00:27 #1
Du læser filen som en CharacterStream (Reader) men bør læse den som en ByteStream (InputStream). Du kan lave byte'ene om til karakterer ved hjælp af InputStreamReader og angive hvilken encoding der skal bruges:

BufferedReader buf = new BufferedReader(new InputStreamReader(new FileInputStream(new File("ascii.txt")),"ISO8859_2"));
Forsøg med ISO8859_2, hvis du ikke har et bedre bud.

Hvis det ikke virker kan du altid læse byte'ene og lave \u0092 om til 'Æ':
BufferedInputStream buf = new BufferedInputStream(new FileInputStream(new File("ascii.txt")));
Avatar billede astengaard Nybegynder
18. februar 2002 - 19:35 #2
Hvad er der af andre bud end ISO8859_2?
Avatar billede guldner Nybegynder
18. februar 2002 - 23:49 #3
Avatar billede astengaard Nybegynder
24. februar 2002 - 13:38 #4
Cp865, som er MS-DOS Nordic, var lige det jeg skulle bruge, så behøvede jeg heller ikke at konvertere noget som helst.
Mange tak!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB