java是验证文件的清晰方法
我必须验证作为用户输入接收的文件的路径。我的问题是,我必须使用太多的“如果”,在我看来,代码看起来有点混乱。我知道我可以通过使用“责任链”模式来解释这个条件语句,但是这个问题对于我的问题来说似乎有点太复杂了。我的意思是,我真的不想为每次验证创建一个新类
这是我的密码:
public boolean isValidFile(String filePath) {
File file = new File(filePath);
if(!getFileExtension(file).equals("txt")) {
return false;
}
if(!file.exists()) {
return false;
}
if(!file.isFile()) {
return false;
}
if(file.isHidden()) {
return false;
}
if(!file.canExecute()) {
return false;
}
if(!file.canRead()) {
return false;
}
return true;
}
有什么建议吗
# 1 楼答案
您可以使用布尔代数:
# 2 楼答案
我认为你的方法对于你想要达到的目标来说是相当好的
尝试使用布尔运算符(| |和&;)使其更紧凑是可能的但是我认为可读性下降比冗长更糟糕
在我看来,对于这种问题,责任链完全是过火了
# 3 楼答案
这可能是基于观点的,并且您的函数非常可读(在我看来…),但也有其他一些选择:
或
或
这可能是编写有效文件要求的更直接的方法