2012-02-26 20 views
1

私はちょっとした問題を抱えて助けを求めています。基本的には私のアプリで "if & else"ステートメントを持っていますが、そのファイルの特定の行のファイルをチェックする別の "if"ステートメントを追加したいと思います。しかし、私はこれを行う方法がわかりません。if&else文

ファイルが「あれば」ファイルが存在するが、「他」のテキスト
  • の特定の行が含まれていないかどうかを確認の上
  • が存在するかどうかを確認「場合」に

    ここで何かを私は何かが欠けていない限り

    if(file.exists()) { 
             do this 
    } else { 
             do this 
    } 
    
  • +0

    ファイルを開いて読み取ります。存在しない場合は例外が発生します。その後、ファイルが開いたら、それを読んで行を探します。 代わりに、コマンドラインからgrepだけを入力してください;-) –

    答えて

    2

    を持っているものIIで、あなただけのelse ifを使用することができませんでしたか?

    else if((file.exists())&&(!file.contains(Whatever))) { ... }

    File.containsは、実際にファイルをチェックする機能に交換する必要があるだろうが、あなたのアイデアを得ます。

    +0

    いいえファイルが存在する場合、彼女は何かしたいです。 –

    +0

    @TonyEnnis Bummer。私は本当に質問を正しく読むことを学ぶ必要があります。「ファイルが存在し、XYZを含んでいないか、存在していて、それを含んでいます...」と理解しましたが、それはあまり意味がありません'else if'です。うーん、私は本当に睡眠を取る必要がある、それはそうだ。 – malexmave

    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 
    } 
    
    +0

    2番目のコードは必要なもののように見えますが(contents.contains(...))エラー "コンテンツを解決できません" – Leigh8347

    +0

    @ Leigh8347:うん、あなた自身でコードを書く必要があります。これが、コードを読み飛ばすということです。ファイルを読むことです。 –

    1

    を平らにするために、以前の1の論理を反転たぶん、あなたのようなものを意味します:

    if(file.exists() && containsLine(file)) 
    { 
        // do something 
    } 
    else 
    { 
        // do something else 
    } 
    
    public boolean containsLine(File f) 
    { 
        // do the checking here 
    }