当我复制Intellij Idea Editor文本并运行
时,我遇到了麻烦Toolkit.defaultToolkit.systemClipboard.getData(DataFlavor.stringFlavor)
它会提出:
Exception "java.lang.ClassNotFoundException: com/intellij/codeInsight/editorActions/FoldingData"while constructing DataFlavor for: application/x-java-jvm-local-objectref; class=com.intellij.codeInsight.editorActions.FoldingData
实际上,我希望忽略剪辑内容与FoldingData,如何检测当前剪贴板DataFlavor
答案 0 :(得分:0)
剪贴板数据可能有多种口味。因此,您应该使用Clipboard.getAvailableDataFlavors()并遍历数组以确定您要查找的DataFlavor是否存在。
但是如果你得到ClassNotFoundException
,这意味着你的运行时类路径缺少依赖项,所以你需要修复这个
答案 1 :(得分:0)
这样您可以提前检查 DataFlavor 以避免 UnsupportedFlavorException 以后
public class ClipBoard {
public static void main(String args[]) {
Transferable t = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
try {
if (t != null && t.isDataFlavorSupported(DataFlavor.stringFlavor)) {
String text = (String)t.getTransferData(DataFlavor.stringFlavor);
text=text.toUpperCase();
StringSelection ss = new StringSelection(text);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
了解详情:http://mrbool.com/manipulating-clipboard-content-with-java/24758#ixzz4tta4bwNQ