处理声明WatchService的Java导入

时间:2016-09-13 20:51:17

标签: java eclipse

我是Java的新手,我正在尝试创建一个相当简单/基本的WatchService程序。我正在使用Eclipse,这里是一个部分代码片段,显示了有问题的行:

import static java.nio.file.StandardWatchEventKinds.ENTRY_CREATE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_DELETE;
import static java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.WatchEvent;
import java.nio.file.WatchKey;
import java.nio.file.WatchService;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

@SuppressWarnings("serial")
public class MDMButtons extends JFrame implements    WindowListener,ActionListener,Runnable {
    JButton b1, b2, b3, b4;
    ImageIcon red = new ImageIcon("img/red.gif","Down");
    ImageIcon green = new ImageIcon("img/green.png","Up");
    JLabel imageRed; 
    JLabel imageGreen;
    //  File f = new File("fault.txt");
    //  File file = new File("%userprofile%\\desktop\\error.txt");
    WatchService watcher = FileSystems.getDefault().newWatchService();

    public static void main(String[] args) throws IOException {
        MDMButtons window = new MDMButtons("MDM Dashboard Beta v1.0");
        window.setSize(400,200);
        window.setVisible(true);

我遇到的问题涉及以下错误:

  

线程中的异常" main" java.lang.Error:未解决的编译问题:
          未处理的异常类型IOException           在MDMButtons。(MDMButtons.java:38)
          在MDMButtons.main(MDMButtons.java:41)

这似乎涉及这一行的后半部分(在' ='之后):

WatchService watcher = FileSystems.getDefault().newWatchService();

我认为这与进口有关,但我无法解决我需要做的事情来纠正它。

如果我删除导入静态行,则错误消失,但我在程序中稍后会遇到问题,代码行依赖于这些导入。

感谢任何和所有帮助!

1 个答案:

答案 0 :(得分:1)

它表示您需要处理可能从代码中抛出的IOException 并且您的代码段并未真正显示编译错误的位置 它在41号线上 声明您的main方法抛出IOException或将可能抛出IOException的代码包装到

 try{

    }catch(IOException ex){
         //do something
    }