Java Paths.get(";)如何在没有参数的情况下确定其搜索范围?
我正在开发一个涉及音乐播放器的javafx应用程序,我收到来自path.get(“”)的奇怪结果。以下是我的示例,因此在我的IDE中,它可以正常工作,只是它可以获取源文件夹和bin中的项目路径。将其导出到可运行的Jar文件后,现在将其放入PC上的文件夹后,不会找到任何文件,尽管我已将其他文件打包到Jar文件中。最后,在从另一台计算机上的闪存驱动器运行它之后,它在我的闪存驱动器上找到了所有文件!有人能解释一下这个过程是如何工作的吗?它确实有一个参数,它是一个空字符串Java Paths.get(";)如何在没有参数的情况下确定其搜索范围?,java,javafx,path,filepath,Java,Javafx,Path,Filepath,我正在开发一个涉及音乐播放器的javafx应用程序,我收到来自path.get(“”)的奇怪结果。以下是我的示例,因此在我的IDE中,它可以正常工作,只是它可以获取源文件夹和bin中的项目路径。将其导出到可运行的Jar文件后,现在将其放入PC上的文件夹后,不会找到任何文件,尽管我已将其他文件打包到Jar文件中。最后,在从另一台计算机上的闪存驱动器运行它之后,它在我的闪存驱动器上找到了所有文件!有人能解释一下这个过程是如何工作的吗?它确实有一个参数,它是一个空字符串“这会影响什么吗?没有。只要说h
“
这会影响什么吗?没有。只要说hehepath.get(“”
),不管它做什么,都是从文件系统获取路径。所以它永远不会在jar文件中找到条目,因为这些实际上根本不是文件。我认为(和实验表明)没有其他上下文的相对路径是针对工作目录解析的(即针对System.getProperty(“user.dir”)
),但我找不到任何相关文档。同样,“从jar文件获取文件”是一个矛盾修饰法,因为它不包含文件,它包含特定层次格式的数据。您可以使用getClass().getResource(…)
获取从当前类所在的位置加载的资源的URL(因此,如果该类是从文件系统加载的,它将返回文件:
URL,如果它是从jar文件加载的,它将返回jar:
URL,等等)。资源相对于当前类,或者相对于类路径(如果它开始于/
)。有关资源命名,请参阅。