lundi 8 juin 2015
Guava ByteArrayDataInput länge von UTF
Posted on 11:28 by verona
Hallo zusammen,
direkt zu meinem Problem.
Ich möchte gerne aus einem "byte" Array die ersten Bytes löschen. Die länge bestimme ich an dem ersten UTF String den ich bekomme. Hier mein ansatz:
Connection könnt ihr einfach überlesen. Der String channel ist der oben gennante String und bytes ist das Array.
Das Problem ist jetzt aber das ich, wenn ich aus dem String wieder ein ByteArray machen möchte dieser deutlich länger ist und ich eine IllegalArgumentException bekomme.
MFG René
direkt zu meinem Problem.
Ich möchte gerne aus einem "byte" Array die ersten Bytes löschen. Die länge bestimme ich an dem ersten UTF String den ich bekomme. Hier mein ansatz:
Java Code:
-
ChannelMessageUtil(byte[] bytes, String channel, Connection con){ ByteArrayDataOutput bado = ByteStreams.newDataOutput();
-
bado.writeUTF(channel);
-
this.bytes = copyOfRange(bytes, bado.toByteArray().length, bytes.length - bado.toByteArray().length);
-
this.channel = channel;
-
this.con = con;
-
}
-
-
-
private static byte[] copyOfRange(byte[] original, int from, int to) {
-
-
-
int newLength = to - from;
-
byte[] newByte = new byte[newLength];
-
return newByte;
-
}
Connection könnt ihr einfach überlesen. Der String channel ist der oben gennante String und bytes ist das Array.
Das Problem ist jetzt aber das ich, wenn ich aus dem String wieder ein ByteArray machen möchte dieser deutlich länger ist und ich eine IllegalArgumentException bekomme.
MFG René
Guava ByteArrayDataInput länge von UTF
Categories: Guava ByteArrayDataInput länge von UTF
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire