我正在构建一个节点应用程序,其中包含要由该应用程序的用户编辑的配置文件,并且其中包含文件路径。
这些配置文件将在Windows,Linux和MacOSX中使用。例如,可能在Windows和MacOSX中都开发了使用此应用程序的项目,但是配置文件相同。
在这种情况下,路径格式的最佳做法是什么?
我有两种可能:
我认为现在有很多软件存在同样的困境,所以我想知道是否有一些最佳实践。
谢谢您的帮助!
编辑:路径仅是相对的,没有绝对路径。如果有人提供了绝对路径,那么该配置无论如何都不能在不同的操作系统中使用,所以没关系。
答案 0 :(得分:0)
动态地在/
和\
之间进行转换不是什么大问题,处理路径的根源就是问题所在。
我建议您增加对某种字符串扩展的支持,以便用户可以指定相对于已知位置的路径。也许是这样的:
imagedir=%config%/myimages
fallbackimagedir=%appdir%/images
您还应该尝试处理完整路径。
我建议您在读取POSIX系统上的配置时,将c:\foo
之类的Windows驱动器盘符路径转换为/c/foo
。这很容易,因为字符串长度相同,但是它确实假设/c
已设置为有用的内容。
在Windows上读取POSIX路径比较麻烦,如果给定以/
开头的路径,则必须给它加上前缀。这是由您自己决定的,可能取决于您安装应用程序的驱动器的驱动器号根。