FileInputStream.read() != FileReader.read(). Pls Help

Status
Nicht offen für weitere Antworten.

roughelement

Mitglied
Hallo Leute,

mein Problem ist, dass ich die Daten einer Datei über einen FileReader lesen muss. Das kann ich nicht ändern!
Wie ich festgestellt habe, encoded der FileReader.read() die Bytes in Unicode. D.h. der int Wert für ein Hex "8A" ist bei FileReader.read() = 352 und nicht wie erwartet bei FileInputStream.read() = 138. Die Daten sind aber nicht in Unicode gespreichert und ich muss sie auch so "native" verarbeiten.

Kann ich dem BufferedReader irgenwie beibringen dass er die werte nicht encoded. Oder muss ich die int Werte über eine Translation Methode jagen? Wäre etwas kompliziert.

Ich hoffe ich hab mein Problem einigermaßen verständlich ausgedrückt.

Bin für jede Hilfe sehr dankbar.
 

Dreezard

Bekanntes Mitglied
Darf ich die Frage einwerfen warum es unbedingt über einen FileReader sein muss? IMHO geht es damit direkt garnicht. Das muss dann wohl übersetzt werden
 

roughelement

Mitglied
Hi,

Es muss ein FileReader sein weil ich in einer Application Serverumgebung einer Datenbank die Methode getAttachment() der AppServer Javaklassen benutzen muss, die einen FileReader liefert. Eine andere Möglichkeit an die Daten zu kommen gibt es nicht. Und ich kann keine Andere Datenbank nehmen, ich kann nicht per jdbc darauf zu greifen. Ich muss mit dem FileReader klar kommen.

Wenn es nicht anders geht als einen konverter nachzuschalte, könntest du mir vielleich Sagen, ob es einen gibt oder muss ich den Selber implementieren?

Viele Grüße
 

Bleiglanz

Gesperrter Benutzer
[qoute]
Wie ich festgestellt habe, encoded der FileReader.read() die Bytes in Unicode
[/quote]
na und? ist doch egal??

das ist ein READER, mit dem sollst du keine Bytes lesen, ein Reader liest immer Strings - z.B. in einen char[] oder einen Charbuffer oder sonstwas

da du den Reader ja von der Datenbank bekommst solltest du direkt den richtigen String erhalten (vorausgesetzt er wurde richtig reingeschrieben)
 

aquanox

Mitglied
FileInputStream liest die Datei binär ein, FileReader liest die binären Zeichen und kodiert sie in Text.
Falls du also ein Bild mit einem FileReader lesen möchtest kann es wohl passieren, dass Müll herauskommt.

Die Kodierung des FileReaders ist Standardmäßig die Kodierung die die JVM bei System.getProperty("file.encoding") zurückgibt.

Die Kodierung kann nur beim Erstellen des Readers aus dem InputStream mitgegeben werden:
new InputStreamReader(inputstream, encoding);

Mir fällt da jetzt nur eine umständliche Lösung ein die Strings über das getBytes(charset) vom Objekt String wieder in Bytes zu konvertieren und zurück. Sorry, hab sonst keine andere Idee.

Code:
String s = filereader.read();

s = new String(s.getBytes(filereader.getEncoding()), newencoding);

Habs aber nicht getestet, außerdem fehlt ein try/catch.
 

roughelement

Mitglied
Hallo an alle,

@aqua
das sieht ganz gut aus. Ich habe mich aber umentschieden dann den Anhang erst zu deatachen und dann über nen FileInputstream auszulesen. Ich hab es nicht sehen können das es nicht so klar ist.

@ blei
das hatte ich ausser acht gelassen. eigentlich ganz klar. thnx für die infos
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
V FileInputStream - read() Java Basics - Anfänger-Themen 2
C FileInputStream read() Overflow Problem Java Basics - Anfänger-Themen 6
B OutputStream in FileInputStream? Java Basics - Anfänger-Themen 9
W Konstruktor von FileInputStream nicht gefunden Java Basics - Anfänger-Themen 18
B FileInputStream entpacken und Zeile für Zeile entpacken Java Basics - Anfänger-Themen 1
D String in FileInputStream umwandeln Java Basics - Anfänger-Themen 2
N FileInputstream und BinaryStream Java Basics - Anfänger-Themen 3
V FileInputStream auf ein swt.Image Java Basics - Anfänger-Themen 6
R FileInputStream findet Datei nicht Java Basics - Anfänger-Themen 5
C Datentypen Rückgabewert von "new FileInputStream" Java Basics - Anfänger-Themen 4
K FileInputStream in Jar Java Basics - Anfänger-Themen 5
megachucky FileInputStream findet nur absoluten Pfad, keinen Relativen ?! Java Basics - Anfänger-Themen 7
B FileInputStream schliessen: unreported Exception...must be caught Java Basics - Anfänger-Themen 6
W new FileInputStream() blockiert bei fifo (named pipe) Java Basics - Anfänger-Themen 2
G FileInputStream--> Zahlen aus Datei lesen Java Basics - Anfänger-Themen 7
G FileInputStream manipulieren Java Basics - Anfänger-Themen 6
B FileinputStream und BufferedInputStream Java Basics - Anfänger-Themen 12
P Fileinputstream to image? Java Basics - Anfänger-Themen 3
I FileInputStream global deklarieren Java Basics - Anfänger-Themen 2
G relativer Pfad bei FileInputStream Java Basics - Anfänger-Themen 11
T Unterschiedliche Werte beim FileInputStream Lesen Java Basics - Anfänger-Themen 2
F FileInputStream(File file) funzt net Java Basics - Anfänger-Themen 2
C FileInputStream sehr langsam Java Basics - Anfänger-Themen 5
Z FileInputStream bricht ab Java Basics - Anfänger-Themen 6
frau-u Probleme mit richtiger Verwendung von FileInputStream Java Basics - Anfänger-Themen 2
G FileInputStream Java Basics - Anfänger-Themen 6
W aus ObjectInputStream muß FileInputStream werden Java Basics - Anfänger-Themen 12
C FileInputStream und FileOutputStream Java Basics - Anfänger-Themen 4
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
T IOStreams read(byte[]b) methode Java Basics - Anfänger-Themen 2
josfe1234 Hilfe access denied ("java.io.FilePermission" " " "read") Java Basics - Anfänger-Themen 12
C System.in.read() Boolsche Werte vergleichen Java Basics - Anfänger-Themen 8
J Variablen Komsiche System.in.read() return-value? Java Basics - Anfänger-Themen 3
N Threads Read-Modify-Write Problem bei Multithreading (philosopher dining problem) Java Basics - Anfänger-Themen 5
W Input/Output System.in.read erzeugt nicht, was ich will Java Basics - Anfänger-Themen 1
C Input/Output System.in.read() gibt nicht -1 zurück? Java Basics - Anfänger-Themen 3
F Input/Output Blocking file read erzeugen Java Basics - Anfänger-Themen 0
G Thread stoppen mit System.in.read() Java Basics - Anfänger-Themen 13
G comport read Java Basics - Anfänger-Themen 3
B Frage zur Effizienz von read und read(byte[]) Java Basics - Anfänger-Themen 23
S Java für Anfänger: Probleme mit read() Java Basics - Anfänger-Themen 20
G Input/Output System.in.read & Scanner Java Basics - Anfänger-Themen 2
S Eigener InputStream, Hilfe bei read-Methode Java Basics - Anfänger-Themen 6
L Fehler bei "read" ? Java Basics - Anfänger-Themen 4
R ImageIO.read Fehler Java Basics - Anfänger-Themen 4
K Input/Output read/write Java Basics - Anfänger-Themen 15
B Threads Interrupt während Socket.read()? Java Basics - Anfänger-Themen 3
G Problem mit Image.IO.read( File ) Java Basics - Anfänger-Themen 3
W Koordinaten mit System.in.read() setzen Java Basics - Anfänger-Themen 2
W file read write crash Java Basics - Anfänger-Themen 2
L Read.java Java Basics - Anfänger-Themen 4
F FileReader Methode Read() int? Java Basics - Anfänger-Themen 2
H int : never read - Fehler Java Basics - Anfänger-Themen 3
U Inputstream.read()/readLine() blockiert immer Java Basics - Anfänger-Themen 18
S access denied (java.io.FilePermission read) Java Basics - Anfänger-Themen 3
E Read a file in a package Java Basics - Anfänger-Themen 2
S System.in.read() Java Basics - Anfänger-Themen 2
G Verständnisfrage read() und readLine() Java Basics - Anfänger-Themen 6
C System.in.read() funktioniert nicht Java Basics - Anfänger-Themen 3
G unterschied zwischen in.read() und in.read(byte [] b, int. Java Basics - Anfänger-Themen 3
J System.in.read(): Unhandled exception type IOException Java Basics - Anfänger-Themen 12
P Read, Readline ? Java Basics - Anfänger-Themen 2
B System.in.read() wird übersprungen Java Basics - Anfänger-Themen 5
S System.in.read() mehrmals nacheinander aufrufen Java Basics - Anfänger-Themen 3
F Read access to enclosing field xy is emulated . Java Basics - Anfänger-Themen 2
R frage zur read()-Methode des BufferedReader Java Basics - Anfänger-Themen 2
M Streams, read and write Java Basics - Anfänger-Themen 2
J Wie geht out.read ? Java Basics - Anfänger-Themen 4
L read() (von bufferedReader) abbrechen Java Basics - Anfänger-Themen 5
L unterbrechen von bufferedReader.read() Java Basics - Anfänger-Themen 4
G System.in.read() wartet nicht auf eingabe Java Basics - Anfänger-Themen 1
M FileReader.read(char[]) - Größe des Arrays? Java Basics - Anfänger-Themen 4
D Text-Datei(en) mit der Methode read(bytes[] b) auslesen Java Basics - Anfänger-Themen 4
B Probleme mit Eingaben [System.in.read())] Java Basics - Anfänger-Themen 10
J Keyboard.read... Java Basics - Anfänger-Themen 4
T Anfänger: cannot read: error 1 Java Basics - Anfänger-Themen 8
D FileWriter / FileReader Problem Java Basics - Anfänger-Themen 10
S Mit FileReader lesen, in ArrayList speichern Java Basics - Anfänger-Themen 4
T filereader , file aus programm einlesen Java Basics - Anfänger-Themen 12
W FileReader - Bitte um Erklärung Java Basics - Anfänger-Themen 7
L FileReader Java Basics - Anfänger-Themen 7
L FileReader Java Basics - Anfänger-Themen 2
D Hilfe bei FileReader und BufferedReader Java Basics - Anfänger-Themen 2
Y Datei mit relativem Dateipfad per FileReader aus .JAR heraus auslesen Java Basics - Anfänger-Themen 4
A FileReader Problem Java Basics - Anfänger-Themen 14
D JFileChooser & FileReader Java Basics - Anfänger-Themen 4
L Input/Output FileReader Pfadangabe Java Basics - Anfänger-Themen 7
L While-Schleife und filereader Java Basics - Anfänger-Themen 5
L FileReader und Filewriter Java Basics - Anfänger-Themen 4
F wo datei für filereader ablegen? Java Basics - Anfänger-Themen 11
M FileReader Zeilenangabe Java Basics - Anfänger-Themen 22
L RandomAcessFile getFilePointer in normalen FileReader Java Basics - Anfänger-Themen 4
H OOP FileReader Einleseergebnis Java Basics - Anfänger-Themen 5
R Von wo nimmt der FileReader seine daten Java Basics - Anfänger-Themen 7
J fileReader: wird dateipfad benötigt? Java Basics - Anfänger-Themen 8
Burny91 FileReader und Writer gleichzeitg nutzen Java Basics - Anfänger-Themen 2
Burny91 FileReader / FileWriter / BufferedWriter An einer bestimmten Zeile String ersetzten Java Basics - Anfänger-Themen 2
F FileReader Frage Java Basics - Anfänger-Themen 3
M Frage zur Klasse FileReader Java Basics - Anfänger-Themen 6
G Character-orientierte File-Streams mit der Klasse FileReader Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben