Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于连接到derby数据库的文件路径格式是什么?_Java_Derby - Fatal编程技术网

Java 用于连接到derby数据库的文件路径格式是什么?

Java 用于连接到derby数据库的文件路径格式是什么?,java,derby,Java,Derby,由于数据库路径为java.io.File,因此在连接到derby数据库时,我实际上无法获得必须指定的内容 以下代码中的路径必须是什么 File dbDirectory; // ... String protocol = "jdbc:derby:"; conn = DriverManager.getConnection(protocol + path + ";create=true"); 当然,它应该是独立于系统的。 我是否使用以下选项之一 dbDirect

由于数据库路径为
java.io.File
,因此在连接到derby数据库时,我实际上无法获得必须指定的内容

以下代码中的路径必须是什么

File dbDirectory;

// ...

String protocol = "jdbc:derby:";
conn = DriverManager.getConnection(protocol + path
                + ";create=true");
当然,它应该是独立于系统的。 我是否使用以下选项之一

  • dbDirectory.getAbsolutePath()
  • dbDirectory.getCanonicalPath()

    • derby连接字符串示例:

      derby连接字符串的完整文档:


      我相信getAbsolutePath或getCanonicalPath都可以工作。事实上,您还可以提供相对路径,只要您指定的相对路径是相对于derby.system.home设置的

      此问题提供了有关三种路径之间差异的一些有用信息:

      Derby对不同的路径设置非常宽容,通常会处理其中的任何一种

      但是,如果我有选择的话,我会使用getCanonicalPath,因为它是路径中“最干净”的,而且受derby.system.home的意外重新设置影响的可能性最小


      但是,如果您打算以某种方式构建应用程序,使其可以在不同的计算机上从一个位置移动到另一个位置,并使用其数据库,那么您可能会发现使用相对路径更方便,因为这样您的应用程序会变得更加“独立”您不必处理驱动器映射、主目录文件夹名称差异等方面的差异。

      但这是我链接到的页面,示例还不够。。。我需要知道如何从
      文件
      对象获取derby想要的路径字符串。所以你想让人们为你阅读文档并为你做这件事?文档说明,如果数据库文件不在类路径中,则指定完整路径。你还需要什么?我阅读了文档,但我问路径的格式是什么。对我来说,“完整路径”不是很清楚,因为有不同的格式来表示文件的路径,而且它还依赖于系统。