如何确定在java中启动应用程序的文件的路径

时间:2013-01-23 13:41:47

标签: java filepath

我想问你无论找到文件路径......

我有,或者我会有与我的应用程序相关联的文件,但我不知道如何找到初始化打开我的应用程序的文件路径。

例如: 如果我点击excel文件“file.xlx”上的windows环境,windows将打开excel应用程序与此文件“file.xls”,我想要完全相同。在我的应用程序打开后,我想知道将我的应用程序启动的文件路径...

我希望我的问题是可以理解的,我为我糟糕的英语道歉.. :)

编辑:

我尝试添加另一个例子......

我尝试描述一些逻辑操作......

1 - 没有任何东西在运行,只有窗户 - 我希望:)

2 - 用户点击HDD中某处的某个文件(此文件可以有不同的名称和不同的位置)

3 - 这个带有扩展名的文件与我的应用程序

相关联

4 - app自动查找用户点击的whitch文件(谁调用我的应用程序的启动)并在其他工作中使用此文件路径......

我认为应该像我启动控制台应用程序时那样。有一些论点....但这个论点我必须得到一些窗口位置。 就像当我点击file.txt并且windows会打开记事本而记事本会自动打开这个file.txt,或者我点击file.dbf并且windows会用这个文件打开foxpro

我想点击file.xxx,我的应用程序将自动打开并使用此文件,所以我认为必须以某种方式获取我点击的文件位置......

我希望这有帮助...

3 个答案:

答案 0 :(得分:1)

查看java系统属性http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html,您可能需要user.dir

答案 1 :(得分:0)

我认为您需要的是这样的程序,这将计算您在给定目录旁边的文件的存在

package fileSearch;
import java.io.File;
import java.io.FilenameFilter;
public class fileSearch {

    /**
     * @param args
     */
    public static void main(String[] args) {
        fileSearch obj = new fileSearch();
        obj.finder("program.txt");
        for(int i=0;i<obj.finder("C:/Users/hussain.a/Desktop").length;i++)
        {
            System.out.println(obj.finder("C:/Users/hussain.a/Desktop")[i].getName());
        }
    }
    public File[] finder( String dirName){
        File dir = new File(dirName);

        return dir.listFiles(new FilenameFilter() { 
                 public boolean accept(File dir, String filename)
                      { return filename.endsWith(".txt"); }
        } );

    }

}

现在由您决定应用于您想要的目录,如果您希望它与Windows程序完全相同,那么您每次都必须使用根目录并将文件名作为参数替换为“.txt”in这个程序

希望它服务,休息取决于你实施它

答案 2 :(得分:0)

我认为您可以在安装应用程序时设置操作系统,如注册表。

String osName = System.getProperty("os.name") ;