我目前正在做作业,我有一个字节数组,我写入文件。 我希望能够通过与我所做的相反的方式将字节数组从文件中取出,但我认为我没有得到正确的值。
这是写入文本文件的代码
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();
它似乎不正确,中间是否发生了错误的事情?
答案 0 :(得分:0)
当您将任意字节序列写入文本文件时,在阅读此文本文件时,请在编写和解码时考虑encoding your bytes to base64 format。
文本文件不适合存储和检索任意字节序列,因为某些字节可能被识别为格式化字符等等。
将您的字节编码到base64并将其解码回来将在写入和读取文本文件时保留您的字节序列。