1

我必须连接到文件中托管的数据库。而不是指向一个端口,我必须指向一个像这个 sqlite 连接字符串这样的文件:

"jdbc:sqlite:database/users.db"

但是当路径上有空格时,我无法弄清楚如何指定路径,例如:

"jdbc:sqlite:C:\\Documents and Settings\\users.db"
"jdbc:sqlite:C:/Documents\ and\ Settings/users.db"

这些都不起作用。

最好我还希望能够以与系统无关的方式指定此路径(即在 Windows 和 linux 上都可以使用)。无需对每个进行特定处理。

4

4 回答 4

3

事实证明 Nishant 是对的,我根本不需要转义字符或使用反斜杠。这有效:

"jdbc:sqlite:C:/Documents and Settings/users.db"

我实际上已经尝试过了,但是另一个错误阻止了我看到它工作。我有两个错误,但认为我只有一个。

于 2013-03-14T13:27:28.297 回答
0

我们也可以尝试双反斜杠,它对我有用

"jdbc:sqlite:C:\\Documents and Settings\\users.db"
于 2014-04-29T03:25:23.583 回答
0

我相信 JDBC 转义是使用 {}。所以那会变成

"jdbc:sqlite:{C:/Documents and Settings/users.db}"

或者

"{jdbc:sqlite:C:/Documents and Settings/users.db}"

或它的变体。

于 2013-03-13T20:19:43.227 回答
0

对于系统独立分隔符,您应该File.separator从标准 API 使用:

文件 (Java SE 7)

系统相关的默认名称分隔符。该字段被初始化为包含系统属性 file.separator 值的第一个字符。在 UNIX 系统上,该字段的值为 '/';在 Microsoft Windows 系统上,它是 '\'。

File.separator将此char作为String.

于 2013-03-13T20:21:42.430 回答