2016-05-11 6 views
0

2つのテキストファイルを比較しようとしています。私はファイルを読むことができ、単語に値を割り当てることができます。この単語は配列に代入されます。比較しても、動作しません。numCommonの結果は1ですが、これは間違っています。手伝って頂けますか? File1の例:1-A 2-B 3-C 4-D ... File2の例:1-A 2-B 3-E 4-A ..2文字列配列を比較します。

 sc = new Scanner(new FileInputStream(dir + "/" + sdf.format(file.lastModified()) + ".txt")); 

     sc2 = new Scanner(new FileInputStream(dir2 + "/" + sdf.format(file2.lastModified()) + ".txt")); 
     String dirPath = dir + "/" + sdf.format(file.lastModified()) + ".txt"; 
     String dir2Path =dir2 + "/" + sdf.format(file2.lastModified()) + ".txt"; 
     int ss= satirSayisi(dirPath); 
     int ss2= satirSayisi(dir2Path); 
     String[] wordListOne , wordListTwo; 
     while (sc.hasNextLine()) { 

      word1 = sc.nextLine(); 
      word1 = word1.replaceAll("\\s+","").trim(); 

      if (word1.length() != 0) { 
       wordListOne = new String[ss]; 
       wordListOne[i] = word1; 
       System.out.println("wordListOne: " + wordListOne[i]); 
       while(sc2.hasNextLine()){ 
         word2 = sc2.nextLine(); 
         word2 = word2.replaceAll("\\s+","").trim(); 
         if(word2.length() != 0){ 

          wordListTwo = new String[ss2]; 
          wordListTwo[j] = word2; 
          System.out.println("wordListTwo: " + wordListTwo[j]); 

          if(wordListOne[i].equals(wordListTwo[j])) numCommon++;System.out.println("count " + numCommon); 
         j++; 
         } 
       } 
      i++; 
      } 
     } 

答えて

0

このコードを使用できます。

Scanner input1= new Scanner(new FileInputStream(dir + "/" + sdf.format(file.lastModified()) + ".txt")); 
Scanner input2= new Scanner(new FileInputStream(dir2 + "/" + sdf.format(file2.lastModified()) + ".txt")); 

String one= input1.nextLine(); 
String two= input2.nextLine(); 

if(one.equals(two)) 
{ 
    .... 
} 

また、行がヌルのときにファイルを有効にすることができます。