打开文本文件的按钮将无法使用不在类根目录中的文本文件

时间:2013-06-27 18:12:30

标签: java swing file process runtime.exec

我有这个按钮,用于打开文本文件以便于调整。当我将文本文件放在同一目录中时它工作正常,但是当我尝试将它放在子目录中并将路径更改为“config / gameItems.txt”时它没有做任何事情,甚至没有告诉我它可以找不到文件。有什么想法吗?

        JButton itemsButton = new JButton("Items");
            //Add action listener to button
            itemsButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e)
            {
                //Execute when button is pressed
                try {
                Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + "config/gameItems.txt");
                } catch (Exception a) {
                System.out.println("File not found");
                }
            }
            });

2 个答案:

答案 0 :(得分:1)

这是windows特定代码,我认为问题是使用文件分隔符“/”instad“\”,尝试将代码更改为

Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + "config\\gameItems.txt");

答案 1 :(得分:1)

由于您在Windows上执行此操作,请尝试以下操作:

Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + "config\\gameItems.txt");