Wann Byte-Stream und wann Character-Stream?

prashanna

Mitglied
Hallo

Kann mir jemand kurz erklären, wann man Character Stream einsetzen soll bzw. wann macht es Sinn, bitte mit einem Beispiel :)?

Ich habe bis jetzt immer nur Byte-Stream verwendet.

Gruss
prashanna
 
N

nillehammer

Gast
Byte-Streams für binäre Daten (exe-Dateien, flash-Videos, zip-Dateien etc.). Character-Streams (in Java-Sprech Reader/Writer) für Daten, die man als Text interpretieren kann (XML, HTML, ini-Dateien, Properties-Dateien, Java-Sourcecode). Word-Dokumente sind übrigens binär. Es steht zwar Text in ihnen, aber sie werden in einem binären Format gespeichert.
 
S

Spacerat

Gast
Sinn machen CharacterStreams, wenn man weis, dass eine Datei Unicodes enthält (Chars mit 1 bis 4 Byte langen Zeichen). Die kannst du binär mit einem Bytestream lesen und dich selber mit der Decodierung ans Werk machen oder aber die Vorzüge des CharacterStreams nutzen, der das für dich übernimmt.
 
N

nillehammer

Gast
Spacerat hat gesagt.:
Sinn machen CharacterStreams, wenn man weis, dass eine Datei Unicodes enthält (Chars mit 1 bis 4 Byte langen Zeichen).
Ich glaube nicht, dass Du es so meintest, aber das klingt danach, dass sie nur genau dann Sinn machen. Sie machen bei jeder Art von Text Sinn. Ich hätte auch keine Lust, aus einem byte-Array ASCII-Code auszulesen (obwohl das jetzt nicht so schwer wäre ;) ) Du erlaubst mir darum bitte die kleine Korrektur: CharacterStreams machen besonders Sinn, wenn die Datei Unicode enthält, weil da eine Dekodierung binärer Daten besonders aufwendig ist.
 
H

hüteüberhüte

Gast
Oft hilft bei so was auch einfach ein Blick in die API:

InputStreamReader (Java Platform SE 6)

public class InputStreamReader
extends Reader

An InputStreamReader is a bridge from byte streams to character streams: It reads bytes and decodes them into characters using a specified charset. The charset that it uses may be specified by name or may be given explicitly, or the platform's default charset may be accepted.

Oder Tutorial:

Lesson: Basic I/O (The Java™ Tutorials > Essential Classes)

Character Streams handle I/O of character data, automatically handling translation to and from the local character set.

Grüßle
 
S

Spacerat

Gast
ISO-8859-1 ist Windows-Krams, der unterscheidet sich nicht wesentlich von ASCII.

Grüßle
Woher hast du denn den Schwachsinn? ISO ist eine weltweite Norm und hat mit Windows allein nichts zu tun. Bei ASCII sind nur die ersten 128 Zeichen genormt und stets mit den ersten 128 Unicodes identisch. Der Rest (Enhanced ASCII) ist im Gegensatz zu Unicode relativ frei definierbar. Windows-1252... das ist Windows-Kram
Siehe hier: ISO 8859-1 ? Wikipedia
 
N

nillehammer

Gast
Spacerat hat gesagt.:
Woher hast du denn den Schwachsinn? ISO ist eine weltweite Norm und hat mit Windows allein nichts zu tun.
Habe es jetzt zwar nicht recherchiert, aber ich würde es nicht so schnell als Schwachsinn abtun. Es kommt durchaus vor, dass zunächst proprietäre Dinge irgendwann zu einem ISO-Standard erhoben werden und eine schöne ISO-Nummer bekommen. Könnte mir gut vorstellen, dass es auch einige MS-Encodings geschafft haben könnten...

[EDIT]Ok, der von Dir verlinkte Wikpedia-Artikel ist eindeutig :idea:[/EDIT]
 
H

hütte

Gast
Habt ihr auch "wie ISO/IEC 8859, Windows-125X und US-ASCII" gelesen? Im Wesentlichen bedeutet nicht komplett. Ich meine, Win wäre in diesem Fall Wegbereiter gewesen/sein.

Grüßle
 
S

Spacerat

Gast
Nicht wirklich... Wenn einer Wegbereiter für diese Norm war, dann eher IBM. Denn Computer gab es schon lange, bevor es Microsoft gab (kein Witz...). Die gesamte Normung basiert auf US-ASCII (nicht Enhanced ASCII) und ist um einiges älter als Microsoft. Schliesslich wurden Computer ja bereits weltweit verwendet und mussten irgendwie miteinander kommunizieren. Die ersten Zeichen, die heute als nicht belegt gelten, wurden damals als Steuercodes bezeichnet. Damit wurden z.B. Drucker mit 0D 0A zu einem Zeilenvorschub (Linefeed) und Wagenrücklauf (Carriage Return) animiert. Manche Drucker benötigten nur eines von beiden und wenn man das 2. davon trotzdem übermittelte gabs Kaudawelsch. Zu drucken gab es meistens Plaintext und 0D 0A verfolgt uns dort heute immer noch ungenormt obwohl Drucker längst andere Protokolle fahren.
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
KogoroMori21 Wann ist der richtige Zeitpunkt, um sich Hilfe zu suchen? (Bin Informatik-Student) Java Basics - Anfänger-Themen 10
I Logik Zahlungsprozess - Wann Bestellobjekt anlegen? Java Basics - Anfänger-Themen 2
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
berserkerdq2 Java streams, wann nutze ich ::, also 2x Doppelpuntk bei Streams? Java Basics - Anfänger-Themen 5
W Wann und warum hashcode und equals? Java Basics - Anfänger-Themen 14
W Wann Rückgabewerte 0, 1, -1? Java Basics - Anfänger-Themen 27
berserkerdq2 Wann soll ich den Stream schließen, wenn ich das in einer Methode habe? Java Basics - Anfänger-Themen 8
K In andere Zahlensysteme umwandeln, wann klappt immer der Trick mit log? Java Basics - Anfänger-Themen 6
W Zur Vererbung: Wann und wie? Java Basics - Anfänger-Themen 35
F Wann ist es eine Instanz und wann nicht? Java Basics - Anfänger-Themen 1
C Instanzen, wann muss ich Instanzen erzeugen & wo?) Java Basics - Anfänger-Themen 23
S Wann Methode abstract? Java Basics - Anfänger-Themen 10
S Wann buffer löschen? Java Basics - Anfänger-Themen 5
R Wie überprüfen wann der User online oder offline ist? Java Basics - Anfänger-Themen 5
C Polymorphie Was genau ist Polymorphie und wann genau sollte man es verwenden? Java Basics - Anfänger-Themen 9
I Wann ist Client plattformunabhängig? Java Basics - Anfänger-Themen 22
M Best Practice Wann eine Methode schreiben ? Java Basics - Anfänger-Themen 14
K Warum funktioniert das und wann erden die Objektmethoden nun ausgeführt? Java Basics - Anfänger-Themen 7
IngoF Welches Event kommt wann? Java Basics - Anfänger-Themen 8
M Wann eigene implementierte HashCode Methode zwingend erforderlich? Java Basics - Anfänger-Themen 1
X Wann schreibt man diese Syntax zeichen { } Java Basics - Anfänger-Themen 8
O Wann nutzt man static? Java Basics - Anfänger-Themen 19
C Klassendesign / Wann Interface implementieren und wann Klassen vererben? Java Basics - Anfänger-Themen 3
S Wann existiert eine Instanz (eigene Klasse) Java Basics - Anfänger-Themen 8
M Wann PATH und wann JAVA_HOME in Windows System 7 setzen? Java Basics - Anfänger-Themen 2
M Wann final verwenden? Java Basics - Anfänger-Themen 5
M Wann eine Wrapper Klasse verwenden und wann einen primitiven Datentypen? Java Basics - Anfänger-Themen 8
D Ab wann getter und setter Java Basics - Anfänger-Themen 2
B Erkennen, wann static oder nicht? Java Basics - Anfänger-Themen 7
E wann welche Konstanten verwenden? Java Basics - Anfänger-Themen 7
T Vererbung Wann wird die Methode paint aufgerufen? Java Basics - Anfänger-Themen 4
M Wann statische Methoden/Attribute? Java Basics - Anfänger-Themen 2
vandread Java Wildcards - Wann super wann extends? Java Basics - Anfänger-Themen 2
K Wann Vererbung und wann Interface verwenden? Java Basics - Anfänger-Themen 12
D Wann genau nutze ich ein solches Interface? Java Basics - Anfänger-Themen 3
K Wann genau brauche ich die Anweisung gleich null? Java Basics - Anfänger-Themen 10
B Wann toString() überschreiben? Java Basics - Anfänger-Themen 21
S OOP Wann Proxies und Interfaces? Java Basics - Anfänger-Themen 3
P Threads Wann läuft es parallel ab ? Java Basics - Anfänger-Themen 4
C Variablen Wann werden Instanzvariablen initalisiert? Java Basics - Anfänger-Themen 10
P Java Stream, wann welche Stream verwenden? Java Basics - Anfänger-Themen 3
T Ab wann ist es ein großes Projekt? Java Basics - Anfänger-Themen 35
N Bessere Performance durch final: wann denn überhaupt? Java Basics - Anfänger-Themen 28
D Wann genau abstrakte Klasse und wann ein Interface verwenden? Java Basics - Anfänger-Themen 4
W Wann nutze ich "import"? Java Basics - Anfänger-Themen 12
A junit test wann verwendet man "was"? Java Basics - Anfänger-Themen 4
H Wann ein Objekt der Programmklasse in main anlegen Java Basics - Anfänger-Themen 2
G Wann ist ein == Vergleich bei Gleitkommazahlen fahrlässig? Java Basics - Anfänger-Themen 8
T Wann for und wann while?? Java Basics - Anfänger-Themen 35
-horn- Wann wird alles NaN erzeugt? Java Basics - Anfänger-Themen 22
S Wann wird eine Klasse geladen? Java Basics - Anfänger-Themen 17
C this - wann verwende ich das? Java Basics - Anfänger-Themen 10
T Threads - Ab wann wirds Kritisch?! Java Basics - Anfänger-Themen 7
M Wann muss man eine Variable mit set-/get-Methoden in eine Bean schreiben? Java Basics - Anfänger-Themen 19
G field public/private wann Java Basics - Anfänger-Themen 11
GambaJo Ab wann neue Klasse erzeugen? Java Basics - Anfänger-Themen 2
G Wann Arrays, wann Collections? Java Basics - Anfänger-Themen 36
GambaJo Wann try.catch nutzen? Java Basics - Anfänger-Themen 11
B objekt wann als final deklarieren? Java Basics - Anfänger-Themen 2
N Wann muss eine Methode - protected sein wann public wann. Java Basics - Anfänger-Themen 5
Y Wann / Wozu inner class Java Basics - Anfänger-Themen 3
K StringBuilder notwendig ab wann? Java Basics - Anfänger-Themen 42
S wann static Funktionen wann nicht Java Basics - Anfänger-Themen 6
N Wann und wie oft finalize Methode verwenden( überschreiben ) Java Basics - Anfänger-Themen 6
Bernasconi Programmierstil / Wann eine neue Datei? Java Basics - Anfänger-Themen 5
M wann, welche schleife Java Basics - Anfänger-Themen 3
M Ab wann ist die Datei sichtbar? Java Basics - Anfänger-Themen 3
G Herausfinden, wann mehrere Threads abgeschlossen sind Java Basics - Anfänger-Themen 3
G Überprüfen wann ein Dokument abläuft? Java Basics - Anfänger-Themen 3
N SAX, StAX, JDOM oder DOM , ab wann welches für XML Java Basics - Anfänger-Themen 14
M Wann ist ein Programm beendet? Java Basics - Anfänger-Themen 6
G Wann am besten getSize() aufrufen? Java Basics - Anfänger-Themen 6
I Festellen wann Methode in anderer Klasse fertig ist Java Basics - Anfänger-Themen 5
M wann statische klassen? Java Basics - Anfänger-Themen 14
M Wann ist initialisieren sinnvoll? Java Basics - Anfänger-Themen 4
B Wann Comparator und wann Comparable Java Basics - Anfänger-Themen 6
R Wann benutzt man << oder >> ? Java Basics - Anfänger-Themen 2
G Klassen: Wann initialisiere ich wo meine Variabeln Java Basics - Anfänger-Themen 6
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
T IOStreams read(byte[]b) methode Java Basics - Anfänger-Themen 2
I Dateigröße von einem InputStream oder byte[] bekommen Java Basics - Anfänger-Themen 2
krgewb byte-Array, das ein Bild repräsentiert Java Basics - Anfänger-Themen 1
G ImageIcon in Byte-Array ablegen Java Basics - Anfänger-Themen 7
D Best Practice Parameter int vs byte Java Basics - Anfänger-Themen 16
J RSA Verschlüsselung Testen / byte[] in Objekt umwandeln Java Basics - Anfänger-Themen 1
S Byte-Array kann chars speichern? Java Basics - Anfänger-Themen 3
N Datentypen Image zu Byte-Array Java Basics - Anfänger-Themen 4
M Datentypen Byte, Float und Boolean Java Basics - Anfänger-Themen 13
F byte, short oder doch int? Java Basics - Anfänger-Themen 6
S Performance von byte[], short[], int[]..? Java Basics - Anfänger-Themen 24
D Methoden int to byte array und zurück? Java Basics - Anfänger-Themen 5
P int zu byte Java Basics - Anfänger-Themen 8
F Byte Array wachsen lassen Java Basics - Anfänger-Themen 5
M Java Klasse Byte Java Basics - Anfänger-Themen 10
F Byte Ausgabe plötzlich falsch Java Basics - Anfänger-Themen 0
V String in Byte umwandeln Java Basics - Anfänger-Themen 11
O Input/Output Ein (negatives) Byte über PrintWriter hinausschreiben Java Basics - Anfänger-Themen 3
T byte[] zu String mit Sonderzeichen Java Basics - Anfänger-Themen 2
W Nullpointer bei Objekt Serialisierung mit ArrayList<byte[]> etc. Java Basics - Anfänger-Themen 2
J byte - Ausgabe Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben