我需要确定一个用户提供的字符串是一个有效的文件路径(即如果createNewFile()将会成功还是抛出一个异常),但我不想臃肿只为验证目的创建的无用文件的文件系统,所以是有没有办法确定我拥有的字符串是否是一个有效的文件路径而不试图创建该文件?
我知道"有效文件路径"的定义因操作系统而异,但我想知道是否有任何快速接受"C:/ foo"或"/ foo"并拒绝"香蕉"的方法...一种可能的方法如果创建成功,可能正在尝试创建文件并最终删除它,但我希望有更优雅的方法来实现相同的结果......
public static boolean isValidName(String text)
{
Pattern pattern = Pattern.compile("^[^/./\\:*?\"<>|]+$");
Matcher matcher = pattern.matcher(text);
boolean isMatch = matcher.matches();
return isMatch;
}
Run Code Online (Sandbox Code Playgroud)
此方法是否保证Windows上的有效文件名?