Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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 如何在数组中存储字节并获取字符串_Java_String_Bytearray - Fatal编程技术网

Java 如何在数组中存储字节并获取字符串

Java 如何在数组中存储字节并获取字符串,java,string,bytearray,Java,String,Bytearray,我必须在java中使用字节数组和字符串。我使用java读取一个文件,并从getBytes()方法获取字节码,该方法是[B@1d1cdf7] 这是否可以再次使用此代码。在我的程序中解码回 java字符串。 我需要字节数组,所以如何在字节数组中存储此值。我想要点东西 就像在另一个程序中,我没有原始文本,只有字节 数组,那么我如何才能返回字符串结果。您可以使用如下方法: ByteArrayOutputStream stream = new ByteArrayOutputStream();

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

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

您可以使用如下方法:

    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的文章。请告诉我这段代码有什么问题,以便我可以纠正它