0

我必须在 java 中使用字节数组和字符串。我使用 java 读取文件并从 getBytes() 方法获取字节码,即 [B@1d1cdf7]

这是否可以再次使用此代码。在我的程序中解码回java字符串。我需要字节数组,那么我如何将这个值存储在字节数组中。我想要像在另一个程序中一样的东西,我没有原始文本,我只有字节数组,那么我怎样才能取回字符串结果。

4

4 回答 4

0

你可以使用这样的东西:

    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    while(/* condition */ ) { // Get bytes from the file
        // Append bytes to the byteArray
        stream.write(bytes); 
    }

    String str = new String(stream.toByteArray()); // Get the string representation
于 2013-11-11T06:53:45.677 回答
0

您需要将 getBytes() 转换为字符串。

public String toString(){
   return new String(getBytes());
}
于 2013-11-11T06:54:25.590 回答
0

要将字符串转换为字节数组,试试这个

String test = "This is a test";

byte[] bytes = test.getBytes();
System.out.println("Byte : " + bytes);

现在将字节数组转换为字符串试试这个

String s = new String(bytes);
System.out.println("Text : " + s);

输出

Byte : [B@25154f

Text : This is a test
于 2013-11-11T06:57:08.333 回答
-1

您可以使用 Base64 编码。这种编码更适合和可移植地将二进制数据保存到字符串中。

Java中的Base64 api:

sun.misc.BASE64Encoder;
sun.misc.BASE64Decoder;
于 2013-11-11T07:02:56.980 回答