3

我对 Lisp 并不陌生,但对 CL 并不陌生,并且对文件和目录路径处理有点困惑。我需要:一种完全跨平台的方法来处理可以在 URL 中指定并存储在数据库中(最好是文本)的文件和目录路径。

当前方法:使用 将文件路径存储为文件 URL QURI,严格使用 / Unix 样式的路径,并可序列化为 URL 字符串。当我需要访问本地文件时,这些 URL 路径将转换为本地操作系统特定的文件路径。所以我使用UIOP:parse-unix-namestring转换为斜线路径并QURI构造 URL。

问题:文档UIOP说这unix-namestring不适合一般平台特定的路径,我需要将 unix 路径名转换为字符串以将其存储在数据库中。此外,大多数路径都是相对的,但其中一些对于外部资产可能是绝对的,UIOP文档还说parse-unix-namestring不适合绝对路径。

问题:我发现的每个教程都推荐UIOP. 但是,在数据库中以跨平台方式存储文件夹和文件的路径的正确方法是什么?我要做什么可怕的事情了吗?我应该摆脱使用 URL 来存储资产位置的想法吗?它的优点是可以很好地推广到其他类型的位置,例如 ftp 和 http 服务器上的文件。如果我确保所有路径都是相对的并继续使用 UIOP,我是否安全?或者,有没有更好的方法来做到这一点?

它适用于各种(现代)文件系统,具有网络卷等,这一点非常重要。

4

0 回答 0