# binärwert aus 2 byte auslesen



## Guest (2. Dez 2004)

hallo

ich habe ein kleines prob!
ich lese eine datei aus und versuche die einzelnen attribute die in der datei sind mit


```
if(len = in.read(b) == -1){ 
break;}

String s = new String(b,offset,leng);
```

auszulesen!

jetzt habe ich aber einen 2 byte großen binärwert (zahlenwert), den ich auslesen möcht.

jetzt die frage: wie bekomme ich den?

ich habe es schon versucht über die klasse Byte mit intValue(),
aber dort kann ich ja nur ein byte auslesen.

vielen dank

jens


----------



## meez (2. Dez 2004)

Lies halt Strings aus und wandle sie um..


----------



## Guest (2. Dez 2004)

hab ich versucht!
geht aber nicht.

gib mir doch mal den code wie du parsen würdes!

danke

jens


----------



## meez (2. Dez 2004)

Welche Attribute meinst du den eigentlich...
Die "wirklichen" Dateiattribute? (z.B. readable flag)...


----------



## Gast (2. Dez 2004)

sorry mit attributen meine ich ascii zeichen die in der datei stehen.

in der datei steht z.b.: "hallo hier steht text [2 byte binär] und dann wieder text"

ich kann dann das wort hallo mit new String(b,0,5) auslesen
(b ist das byte array das ich mit in.read(b) fülle. in ist der inputstream)

wie komme ich an die zahl die binär in der datei steht?

danke


----------



## meez (2. Dez 2004)

16 Bit...Also short....
Schau mal DataInputStream an


----------



## Guest (2. Dez 2004)

```
byte a = (byte)'a';
byte b = (byte)'z';
System.out.println(a +":"+Integer.toString((int)a, 2));
System.out.println(b +":"+Integer.toString((int)b, 2));
short c = (short)((a << 8) | b);
System.out.println(c +":"+Integer.toString((int)c, 2));
```


----------



## Gast (3. Dez 2004)

danke an meez und gast

ich glaube das ist es!

vielen dank

jens


----------

