是否有可能在剪贴板复制的内容是否使用awt.Toolkit和剪贴板MP3文件在java中知道 [英] Is it possible to know whether the copied content in clipboard is mp3 file using awt.Toolkit and Clipboard in java
问题描述
我试图写一个code在哪的背景的和的显示器的用于复制的 .MP3 文件的或的包含文件夹的一个 .MP3 文件
{ 剪贴板CB = Toolkit.getDefaultToolkit()getSystemClipboard()。 如果(cb.isDataFlavorAvailable(DataFlavor.javaFileListFlavor))
{
尝试{
字符串名称=+ cb.getData(DataFlavor.javaFileListFlavor);
布尔发现= FALSE;
如果(name.toLowerCase()的endsWith(MP3]))
{
的System.out.println(是MP3);
发现= TRUE;
}
如果(!找到)
{
的System.out.println(是不是MP3);
} } 赶上(UnsupportedFlavorException前)
{
ex.printStackTrace();
}
赶上(IOException异常前)
{
ex.printStackTrace();
}
} }
基本上,是的。您需要检查剪贴板
的内容,看它是否支持 DataFlavor.javaFileListFlavor
的DataFlavor
。如果是这样,你需要遍历的内容(这是的java.util.List
的文件
S)和使内容的确定。
以下内容仅会检查文件是否 .MP3
文件(通过检查扩展名),但它不会是很难检查 isDirectory
,做目录的递归检查...
剪贴板CB = Toolkit.getDefaultToolkit()getSystemClipboard();
如果(cb.isDataFlavorAvailable(DataFlavor.javaFileListFlavor)){
尝试{
列表文件=(列表)cb.getData(DataFlavor.javaFileListFlavor);
布尔发现= FALSE;
对于(对象o:文件){
如果(邻的instanceof文件){
文件F =(文件)O;
如果(f.getName()。与toLowerCase()。的endsWith(MP3)){
的System.out.println(我HAZ MP3);
发现= TRUE;
}
}
}
如果(!找到){
的System.out.println(我诺茨HAZ MP3);
}
}赶上(UnsupportedFlavorException前){
ex.printStackTrace();
}赶上(IOException异常前){
ex.printStackTrace();
}
}
I am trying to write a code which runs at background and monitors the copy actions for copying a .mp3 file or a folder containing a .mp3 file
{
Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
if (cb.isDataFlavorAvailable(DataFlavor.javaFileListFlavor))
{
try {
String name = ""+cb.getData(DataFlavor.javaFileListFlavor);
boolean found = false;
if (name.toLowerCase().endsWith(".mp3]"))
{
System.out.println("Is MP3");
found = true;
}
if (!found)
{
System.out.println("Is not MP3");
}
}
catch(UnsupportedFlavorException ex)
{
ex.printStackTrace();
}
catch(IOException ex)
{
ex.printStackTrace();
}
}
}
Basically, yes. You need to check the Clipboard
contents to see if it supports the DataFlavor.javaFileListFlavor
DataFlavor
. If it does, you need to iterate over the contents (which is java.util.List
of File
s) and make a determination of the content.
The following only checks to see if the files are .mp3
files (by checking the name extension), but it wouldn't be hard to check for isDirectory
and do a recursive check of the directory...
Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
if (cb.isDataFlavorAvailable(DataFlavor.javaFileListFlavor)) {
try {
List files = (List) cb.getData(DataFlavor.javaFileListFlavor);
boolean found = false;
for (Object o : files) {
if (o instanceof File) {
File f = (File) o;
if (f.getName().toLowerCase().endsWith(".mp3")) {
System.out.println("I haz MP3");
found = true;
}
}
}
if (!found) {
System.out.println("I notz haz MP3");
}
} catch (UnsupportedFlavorException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
这篇关于是否有可能在剪贴板复制的内容是否使用awt.Toolkit和剪贴板MP3文件在java中知道的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!