2012-04-13 40 views
2

當我嘗試使用下面的,Java OutOfMemory例外當剪貼板

片段設置一些文字內容,我們敬愛的窗口的剪貼板,它工作正常高達一些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) 
+1

http://stackoverflow.com/questions/1321866/clipboard-size-limit在這裏檢查隊友。 – kommradHomer 2012-04-13 06:25:04

回答

1

試着改變你的堆大小.. here's一些信息的鏈接,你可以谷歌更多。