17. februar 2002 - 17:22Der 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:
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
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")));
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!
Synes godt om
Ny brugerNybegynder
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.