1

我想从网站复制/粘贴一个int,我知道这是一个非常好的方法,即使是不合适的方法,但我没有找到更好的方法

使用 Java.awt.Robot 我在页面上的好位置,进行 2 次单击以选择内容,然后进行 ctrl+C 将其添加到剪贴板

但后来我必须取回一个int的值

public static String getAsText() {
        String clipText = "";
        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
        Transferable contents = clipboard.getContents(null);
        if ((contents != null) && contents.isDataFlavorSupported(DataFlavor.stringFlavor)) {
            try {
                clipText = (String) contents.getTransferData(DataFlavor.stringFlavor);
            } catch (UnsupportedFlavorException ex) {
                Logger.getLogger(ClipboardTransfert.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(ClipboardTransfert.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        return clipText;
    }    

这适用于字符串,但不适用于 int。我试过:

  • DataFlavor intFlavor = new DataFlavor(int.class, "Integer");但例外isDataFlavorSupported

  • 将类型方法更改为 int,也更改为clipText变量,但不起作用

  • 通常的铸造方法但不起作用,它会打印字符串(可以肯定=>如果我这样做theString + 1,我会得到theString1:)

那么怎么做呢?

4

1 回答 1

1

我可能误解了你的问题,但你不能解析它吗?像这样:

int clipboardContent = Integer.parseInt(contents.getTransferData(DataFlavor.stringFlavor));
于 2017-02-23T14:34:15.560 回答