你没有说你想用字节做什么(除了之后将它们转换回String[]),但假设你可以将它们视为不透明的数据包(这样你就可以将它们保存到文件中或发送它们)通过网络或诸如此类,但您不需要以任何方式检查或修改它们,我认为您最好的选择是使用序列化。要序列化您的字符串数组,您可以编写如下内容:
final String[] stringArray = { "foo", "bar", "baz" };
final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
final ObjectOutputStream objectOutputStream =
new ObjectOutputStream(byteArrayOutputStream);
objectOutputStream.writeObject(stringArray);
objectOutputStream.flush();
objectOutputStream.close();
final byte[] byteArray = byteArrayOutputStream.toByteArray();
并在之后恢复它,你会反过来写:
final ByteArrayInputStream byteArrayInputStream =
new ByteArrayInputStream(byteArray);
final ObjectInputStream objectInputStream =
new ObjectInputStream(byteArrayInputStream);
final String[] stringArray2 = (String[]) objectInputStream.readObject();
objectInputStream.close();
|