将字节数组转换为字符串返回字节数组

时间:2017-04-02 17:34:54

标签: java arrays byte

我目前正在做作业,我有一个字节数组,我写入文件。 我希望能够通过与我所做的相反的方式将字节数组从文件中取出,但我认为我没有得到正确的值。

这是写入文本文件的代码

PrintWriter fw = new PrintWriter(new BufferedWriter(new FileWriter("tc.txt",true)));
KeyPair keyPair = generateKeyPair();
byte[] publicKey = keyPair.getPublic().getEncoded();
byte[] privateKey = keyPair.getPrivate().getEncoded();
fw.println(email +" " + publicKey + " " + privateKey); //adds the site into the text file whcih contains all the blacklisted sites
fw.flush();

我尝试将信息作为字符串返回并使用.getBytes()将其转换回像这样的字节数组

tempPublicKey = (blScanner.next()).getBytes();

它似乎不正确,中间是否发生了错误的事情?

1 个答案:

答案 0 :(得分:0)

当您将任意字节序列写入文本文件时,在阅读此文本文件时,请在编写和解码时考虑encoding your bytes to base64 format

文本文件不适合存储和检索任意字节序列,因为某些字节可能被识别为格式化字符等等。

将您的字节编码到base64并将其解码回来将在写入和读取文本文件时保留您的字节序列。