2

When I try to set some text content to our beloved window's clipboard using the below

snippet, it works fine upto some 10-15MB. But beyond that size, it throws an error message

shown at the end. How can we set 30+ MB of utf text to clipboard?

code:

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);

error:

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)
Ranjan Sarma
  • 1,565
  • 5
  • 22
  • 36

1 Answers1

1

Try changing your heap size.. here's a link with some information, and you can google for more.

joshuahealy
  • 3,529
  • 22
  • 29