java arraylist byte_将arraylist转换为byte[]

我想能够转换一个

ArrayList

它存储从BufferedReader读取的文件的内容,然后将内容转换为字节[]以允许使用Java的密码类加密。

我试过用

.getBytes()

但这不起作用,因为我认为我需要先转换数组列表,而且我很难弄清楚该怎么做。

代码:

// File variable

private static String file;

// From main()

file = args[2];

private static void sendData(SecretKey desedeKey, DataOutputStream dos) throws Exception {

ArrayList fileString = new ArrayList();

String line;

String userFile = file + ".txt";

BufferedReader in = new BufferedReader(new FileReader(userFile));

while ((line = in.readLine()) != null) {

fileString.add(line.getBytes()); //error here

}

Cipher cipher = Cipher.getInstance("DESede/ECB/PKCS5Padding");

cipher.init(Cipher.ENCRYPT_MODE, desedeKey);

byte[] output = cipher.doFinal(fileString.getBytes("UTF-8")); //error here

dos.writeInt(output.length);

dos.write(output);

System.out.println("Encrypted Data: " + Arrays.toString(output));

}

非常感谢,提前!

我想能够转换一个 ArrayList 它存储从BufferedReader读取的文件的内容,然后将内容转换为字节[]以允许使用Java的密码类加密。 我试过用 .getBytes() 但这不起作用,因为我认为我需要先转换数组列表,而且我很难弄清楚该怎么做。 代码: // File variable private static String file; // From main() file = args[2]; private static void sendData(SecretKey desedeKey, DataOutputStream dos) throws Exception { ArrayList fileString = new ArrayList(); String line; String userFile = file + ".txt"; BufferedReader in = new BufferedReader(new FileReader(userFile)); while ((line = in.readLine()) != null) { fileString.add(line.getBytes()); //error here } Cipher cipher = Cipher.getInstance("DESede/ECB/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, desedeKey); byte[] output = cipher.doFinal(fileString.getBytes("UTF-8")); //error here dos.writeInt(output.length); dos.write(output); System.out.println("Encrypted Data: " + Arrays.toString(output)); } 非常感谢,提前!
经验分享 程序员 微信小程序 职场和发展