Jér*_*nge 4 java validation location file
我从用户收到一个字符串,该字符串应该用作将内容保存到文件的位置.此字符串应包含足够的信息,如目录+文件名.
我的问题是,如何检查提供的字符串是否是将内容保存到文件的有效路径(至少在理论上)?
无论是否创建目录,或者是否具有对该位置本身的适当访问权限都无关紧要.我只对检查提供的字符串的结构感兴趣.
我该怎么办?我正在考虑创建一个File对象,然后提取它URI.有没有更好的方法?
Rea*_*wTo 10
您可以使用File.getCanonicalPath()根据当前操作系统规则进行验证.
import java.io.File;
import java.io.IOException;
public class FileUtils {
public static boolean isFilenameValid(String file) {
File f = new File(file);
try {
f.getCanonicalPath();
return true;
}
catch (IOException e) {
return false;
}
}
public static void main(String args[]) throws Exception {
// true
System.out.println(FileUtils.isFilenameValid("well.txt"));
System.out.println(FileUtils.isFilenameValid("well well.txt"));
System.out.println(FileUtils.isFilenameValid(""));
//false
System.out.println(FileUtils.isFilenameValid("test.T*T"));
System.out.println(FileUtils.isFilenameValid("test|.TXT"));
System.out.println(FileUtils.isFilenameValid("te?st.TXT"));
System.out.println(FileUtils.isFilenameValid("con.TXT")); // windows
System.out.println(FileUtils.isFilenameValid("prn.TXT")); // windows
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11489 次 |
| 最近记录: |