我必须连接到托管在文件中的数据库。而不是指向一个端口,我必须指向一个像这个sqlite连接字符串的文件:
"jdbc:sqlite:database/users.db"
但我无法弄清楚当路径上有空格时如何指定路径,如:
"jdbc:sqlite:C:\\Documents and Settings\\users.db"
"jdbc:sqlite:C:/Documents\ and\ Settings/users.db"
这些都不起作用。
最好我还希望能够以系统无关的方式指定此路径(即在Windows和Linux上都可以工作)。无需对每个进行特定处理。
答案 0 :(得分:3)
事实证明,Nishant是对的,我根本不需要逃避角色或使用反斜杠。这有效:
"jdbc:sqlite:C:/Documents and Settings/users.db"
我实际上已经尝试过了,但另一个错误让我无法看到它正常工作。我有两个错误,但我以为我只有一个。
答案 1 :(得分:0)
我认为JDBC转义是{}。这将成为
"jdbc:sqlite:{C:/Documents and Settings/users.db}"
或
"{jdbc:sqlite:C:/Documents and Settings/users.db}"
或其中的一种变体。
答案 2 :(得分:0)
对于独立于系统的分隔符,您应该使用标准API中的File.separator
:
系统相关的默认名称分隔符。此字段初始化为包含系统属性file.separator的值的第一个字符。在UNIX系统上,该字段的值为“/”;在Microsoft Windows系统上它是'\'。
File.separator
将此char
作为String
返回。
答案 3 :(得分:0)
我们也可以尝试双反斜杠,它对我有用
"jdbc:sqlite:C:\\Documents and Settings\\users.db"