我想验证一个字符串路径。我不想检查路径是否存在或创建路径(包括创建 + 然后删除),我只是想检查输入字符串是否可以是执行系统上的验证路径。
到目前为止,我一直在搞乱 File
类,但没有成功。我希望以下操作在我的 OSX 机器上失败,但事实并非如此:
File f = new File("!@£$%^&*()±§-_=+[{}]:;\"'|>.?/<,~`±");
System.out.println(f.getCanonicalPath());
有什么可以帮我做到这一点吗?
最佳答案
您可以通过正则表达式来完成:File path validation in javascript
或者通过检查路径的父路径是否存在:Is there a way in Java to determine if a path is valid without attempting to create a file?
请注意路径取决于操作系统:https://serverfault.com/questions/150740/linux-windows-unix-file-names-which-characters-are-allowed-which-are-unesc
另外,仅仅因为路径是有效的,并不意味着文件可以写在那里。比如在Linux中,需要是 super 用户才能写入/usr/
关于java - 验证字符串输入可能是有效路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24460982/