Java 如何在数组中存储字节并获取字符串
我必须在java中使用字节数组和字符串。我使用java读取一个文件,并从getBytes()方法获取字节码,该方法是[B@1d1cdf7] 这是否可以再次使用此代码。在我的程序中解码回 java字符串。 我需要字节数组,所以如何在字节数组中存储此值。我想要点东西 就像在另一个程序中,我没有原始文本,只有字节Java 如何在数组中存储字节并获取字符串,java,string,bytearray,Java,String,Bytearray,我必须在java中使用字节数组和字符串。我使用java读取一个文件,并从getBytes()方法获取字节码,该方法是[B@1d1cdf7] 这是否可以再次使用此代码。在我的程序中解码回 java字符串。 我需要字节数组,所以如何在字节数组中存储此值。我想要点东西 就像在另一个程序中,我没有原始文本,只有字节 数组,那么我如何才能返回字符串结果。您可以使用如下方法: ByteArrayOutputStream stream = new ByteArrayOutputStream();
数组,那么我如何才能返回字符串结果。您可以使用如下方法:
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
您需要将getBytes()转换为字符串
public String toString(){
return new String(getBytes());
}
要将字符串转换为字节数组,请尝试以下操作
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
您可以使用Base64编码。这种编码更适合于将二进制数据保存到字符串中,并且更便于移植 java中的Base64 api:
sun.misc.BASE64Encoder;
sun.misc.BASE64Decoder;
ankur在我的文本文件中,我将字节写为[B@1d1cdf7] . 我的问题是如何将该值读取为字节数组使用InputStream类(如FileInputStream)将其读取为字节。你能给我一个例子吗请参考这篇关于stackoverflow的文章。请告诉我这段代码有什么问题,以便我可以纠正它