仅从剪贴板获取可读文本

2022-08-31 15:26:47

我已经知道如何从Java的剪贴板中获取纯文本,但有时文本被编码为一些奇怪的 ,例如从Microsoft Word或网站复制甚至从Eclipse复制源代码时。DataFlavor

如何从这些中提取纯文本?DataFlavor


答案 1
import java.awt.HeadlessException;
import java.awt.Toolkit;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOException;

String data = (String) Toolkit.getDefaultToolkit()
                .getSystemClipboard().getData(DataFlavor.stringFlavor); 

使用方法和您应该从剪贴板获取纯文本。getData()stringFlavor

如果剪贴板中有奇怪的文本,我认为,这应该是将数据放入剪贴板的程序的问题。


答案 2

您可以使用以下方法在 Java 中获取剪贴板文本:

public String getClipBoard(){
    try {
        return (String)Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor);
    } catch (HeadlessException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();            
    } catch (UnsupportedFlavorException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();            
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return "";
}

推荐