【问题标题】:How to determine the path to the file that starts the application in java如何确定在java中启动应用程序的文件的路径
【发布时间】:2013-01-23 13:41:46
【问题描述】:

我想问你不管找到文件路径...

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

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

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

编辑:

我尝试添加一些其他示例...

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

1 - 没有运行,只有 windows - 我希望 :)

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

3 - 这个带有一些扩展名的文件与我的应用程序开始关联

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

我认为这应该是我启动控制台应用程序时的样子。有一些论点....但是这个论点我必须从某个窗口位置获得。 就像我点击file.txt,windows会打开notepad,notepad会自动打开这个file.txt,或者我点击file.dbf,windows会用这个文件打开foxpro

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

希望对你有所帮助...

【问题讨论】:

  • 如果它是一个 java 应用程序,您的文件将在您的 JRE 目录中为 javajavaw。你需要它的位置还是别的什么?
  • 你想获取什么文件的路径?

标签: java filepath


【解决方案1】:

【讨论】:

  • 我的应用程序仍然具有相同的路径 (c:/programs/app.jar) 但文件将无处不在...如果我单击文件 d:/somedirectory/file.xxx,我的应用程序将被打开,应用程序将自动知道文件路径 (d:/somedirectory/file.xxx) 并将开始使用此文件...希望这能帮助...
【解决方案2】:

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

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”这个程序

希望它能发挥作用,其余的由你来实现它

【讨论】:

  • 感谢您的宝贵时间和善意,但我认为这不是我想要的,因为在您的科德中,如果我了解他,我知道我会在哪里寻找,但我会有一个任何地方的文件都可以有不同的名称。请参阅我编辑的帖子以及其他示例,希望这会有所帮助...
  • 哥们,我已经提到你必须使用根目录,作为给定的目录然后它会搜索每个地方
  • 是的,伙计,但我不需要文件列表,那么我最好使用文件选择器来查找我需要的文件...查看我修改后的问题..跨度>
【解决方案3】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多