【发布时间】:2013-11-17 21:00:50
【问题描述】:
我正在尝试检查用户输入的文件路径对操作系统是否有效,我认为这可以通过 Paths.get(filePath) 来实现,所以我编写了这个简单的函数
public static boolean isValidFilename(String s)
{
try
{
Paths.get(s);
return true;
}
catch (InvalidPathException e)
{
return false;
}
}
但是在 Windows 8 上它会成功返回 false
c:\File::
不会
c:\File..
这是一个错误,还是我的误解
【问题讨论】:
-
你应该尝试这个使操作系统中立并根据操作系统选择分隔符。
-
代码是操作系统中立的,这些只是在 Windows 上使用时的测试用例
-
不明白为什么有人试图关闭这个问题,当然是关于编程