我正在构建一个节点应用程序,其中包含要由应用程序用户编辑的配置文件,并且它们中包含文件路径。
这些配置文件将用于Windows,Linux和MacOSX。例如,使用此应用程序的项目可能在Windows和MacOSX中开发,但配置文件是相同的。
在这种情况下,路径格式的最佳实践是什么?
我有几种可能性:
我认为有很多软件存在同样的困境,所以我想知道那里是否有一些最佳实践。
谢谢您的帮助!
编辑:路径只是相对的,没有绝对路径。如果有人提出绝对路径,那么该配置无论如何都不能在不同的操作系统中使用,所以没关系。
快速转换/
和\
应该不是一个大问题,处理路径的根源就是问题所在。
我建议您添加对某种字符串扩展的支持,以便用户可以指定相对于已知位置的路径。也许这样的东西:
imagedir=%config%/myimages
fallbackimagedir=%appdir%/images
您还应该尝试处理完整路径。
我建议您在阅读POSIX系统上的配置时,将c:\foo
等Windows驱动器号路径转换为/c/foo
。这很容易,因为字符串长度是相同的,但它确实假设/c
已被设置为有用的东西。
在Windows上读取POSIX路径比较复杂,当给出一个以/
开头的路径时,你必须在它前面添加一些东西。这是什么,取决于您,也许是安装应用程序的驱动器的驱动器号根。