我正在寻找一些帮助我遇到的一个小问题。基本上我在我的应用程序中有一个“if& else”语句,但我想添加另一个“if”语句,检查文件,然后检查该文件中的某些文本行。但我不确定如何做到这一点。
这就是我所拥有的
if(file.exists()) {
do this
} else {
do this
}
答案 0 :(得分:5)
听起来你需要:
if (file.exists() && readFileAndCheckForWhatever(file)) {
// File exists and contains the relevant word
} else {
// File doesn't exist, or doesn't contain the relevant word
}
或
if (file.exists()) {
// Code elided: read the file...
if (contents.contains(...)) {
// File exists and contains the relevant word
} else {
// File exists but doesn't contain the relevant word
}
} else {
// File doesn't exist
}
或者颠倒前一个的逻辑来压扁它
if (!file.exists()) {
// File doesn't exist
} else if (readFileAndCheckForWhatever(file)) {
// File exists and contains the relevant word
} else {
// File exists but doesn't contain the relevant word
}
答案 1 :(得分:2)
除非我遗漏了某些内容,否则您只能使用else if
?
else if((file.exists())&&(!file.contains(Whatever))) { ... }
File.contains
需要交换一个实际检查文件的函数,但你明白了。
答案 2 :(得分:1)
也许你的意思是:
if(file.exists() && containsLine(file))
{
// do something
}
else
{
// do something else
}
public boolean containsLine(File f)
{
// do the checking here
}