我正在编写一个简单的命令行Java实用程序。我希望用户能够使用~运算符传递相对于其主目录的文件路径。所以像~/Documents/...
~
~/Documents/...
我的问题是有没有办法让Java自动解决这种类型的路径?还是需要为~操作员扫描文件路径?
似乎应该将这种类型的功能烘焙到File对象中。但这似乎并非如此。
File
在大多数情况下,path = path.replaceFirst("^~", System.getProperty("user.home"));从用户处获得一个简单File的字符(在转换之前)就足够了- 因为波浪号仅在路径目录部分的第一个字符时才扩展到主目录。
path = path.replaceFirst("^~", System.getProperty("user.home"));