繁体   English   中英

剪贴板时出现Java OutOfMemory异常

[英]Java OutOfMemory Exception When Clipboard

当我尝试使用以下方法在我们喜欢的窗口的剪贴板中设置一些文本内容时

片段,它可以正常工作约10-15MB。 但是超出该大小,则会引发错误消息

最后显示。 我们如何将30+ MB的utf文本设置为剪贴板?

码:

Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
File tmp = new File("c:\\web\\a.txt");   //This file's size > 38MB.
String s = readFileAsString(tmp);
cb.setContents(new StringSelection(s), null);

错误:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:45)
    at java.lang.StringBuffer.<init>(StringBuffer.java:91)
    at sun.awt.datatransfer.DataTransferer.translateTransferable(DataTransferer.java:1001)
    at sun.awt.windows.WDataTransferer.translateTransferable(WDataTransferer.java:163)
    at sun.awt.windows.WClipboard.setContentsNative(WClipboard.java:73)
    at sun.awt.datatransfer.SunClipboard.setContents(SunClipboard.java:93)
    at com.webform.XMLReader.main(XMLReader.java:67)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)

尝试更改堆大小。. 这是一些信息的链接,您可以搜索更多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM