Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将int-ByteStream转换为字符串?_Java_Blackberry_Blackberry Storm - Fatal编程技术网

Java 如何将int-ByteStream转换为字符串?

Java 如何将int-ByteStream转换为字符串?,java,blackberry,blackberry-storm,Java,Blackberry,Blackberry Storm,您好,我正在尝试在我的应用程序中实现接口SourceStream,并覆盖readbyte[],off,len方法,我从服务器读取字节。但我想将这些字节流转换为字符串,因为我使用了一个字符串对象,即新的Stringbyte[]但它要求初始字节in off和字节长度ie len作为参数。为什么这样要求,因为我们只包含Strringbye[]。有人能帮我吗?…谢谢只需提供0作为初始偏移量和数组。长度作为长度,就完成了。任何人都猜不出为什么不提供只接受字节数组的方法——可能只是为了避免该方法的101种变

您好,我正在尝试在我的应用程序中实现接口SourceStream,并覆盖readbyte[],off,len方法,我从服务器读取字节。但我想将这些字节流转换为字符串,因为我使用了一个字符串对象,即新的Stringbyte[]但它要求初始字节in off和字节长度ie len作为参数。为什么这样要求,因为我们只包含Strringbye[]。有人能帮我吗?…谢谢

只需提供0作为初始偏移量和数组。长度作为长度,就完成了。任何人都猜不出为什么不提供只接受字节数组的方法——可能只是为了避免该方法的101种变体。

如果只有字节[],那么可以通过API提供的Stringbyte[],int,int构造函数创建新字符串

在你的情况下,你会这样做

byte[] myBytes = ("Hello, World!").getBytes();
String myString = new String(myBytes, 0, myBytes.length);
System.out.println(myString);
编辑: 试着这样做:

int readLength = (len > bufSize ? bufSize : len);
for (int i = 0; i < readLength; i++) {
    b[off + i] = buffers[PBuf][PByte];
}
String metaSt = new String(b, 0, readLength);

Hi Klee谢谢您的建议,但当我使用myBytes.length参数时,它抱怨myBytes的基元类型byte没有字段长度错误…很有趣。。。我想你只是用了一个字节,而我用的是一个字节[]。不能将字段用于诸如字节之类的基本类型。当我直接使用表示,因为它来自streamint字节,即使它表示长度未解析。我使用的字符串myString=new Stringb[off+I],0,b[off+I]。长度;我们不能将int-Bytestream转换成字符串形式吗?你能给出一个代码示例吗?我不知道你在说哪个Bytestream。这是我正在使用的代码…这里bufSize是一些字节的长度公共int readbyte[]b,int off,int len抛出IOException{int readLength=len>bufSize?bufSize:len;for int I=0;I