在 Java 中将字节数组直接复制到剪贴板

Copy byte array directly into clipboard in Java

是否有任何解决方法可以直接将 byte[] 复制到剪贴板。

以下代码适用于字符串。

String str = "My - String";
StringSelection stringSelection = new StringSelection(str);
Clipboard clpbrd = Toolkit.getDefaultToolkit().getSystemClipboard();
clpbrd.setContents(stringSelection, null);

原因是我的 byte[] 很长,将它转换成 String 会占用内存和时间,就好像我在复制它之前使用 new String(bArray) 等.

谢谢。

您可以使用 DataHandler:

DataHandler dataHandler = new DataHandler(bytes, "application/octet-stream");
clpbrd.setContents(dataHandler, null);

DataHandler 甚至能够处理输入流,因此您可能根本不需要字节数组。