假设我有一个字节数组需要转换为字符数组并通过网络发送。 例如
char[] sometoken = String( myByteArray ).toCharArray();
myMethodToSendByteArrayUsingTCPSocket( sometoken );
myByteArray 是 ASN.1 编码(是 kerberos TGT)。在接收端,我使用此代码将“sometoken”写入文件。
try{
fileName = .....;
fs = new FileOutputStream(fileName) ;
fs.write( new String( sometoken ).getBytes() );
fs.flush();
fs.close();
}catch(IOException e){
e.printStackTrace();
}
请问,为了可靠性,我是否应该使用DataOutputStream写入文件?另外,我认为需要为 getBytes() 指定 ASN.1 编码。是 getBytes("ASN.1") 吗?
谢谢。
最佳答案
这种情况在现实世界中经常发生。每当您在浏览器中查看图像时,您都会查看通过套接字发送的一串字节数据。只需对数据进行 BASE64 编码,这会将字节转换为“可打印”的 ASCII 文本。然后传输它,并在远端反向。
关于java - 如何可靠地写入字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24807945/