0

Pastebin RAW から取得した最初の文字列と、プロジェクトのアセット フォルダーに保存した 2 番目の文字列が同じかどうかを確認しようとしています。テキストはまったく同じですが、同じかどうかを確認しようとすると

if(total.toString().equals(result)){
   display.setText(
      "The two files are the same \n Log.txt: " + total.toString() +
      "\n Pastebin: " + result);
} else if(total.toString()!=result) {
   display.setText(
      "The two files arent the same \n Log.txt: " + total.toString() +
      "\n Pastebin: " + result);    

ファイルを削除して新しいPastebinを作成しようとしました。

私が使用する完全なコードはこれです

   InputStream is = getAssets().open("Log.txt");
   BufferedReader r = new BufferedReader(new InputStreamReader(is));
   StringBuilder total = new StringBuilder();
   String line;
   while ((line = r.readLine()) != null) {
      total.append(line);
   }
   // Loads the text from the pastebin into the string result
   HttpClient httpClient = new DefaultHttpClient();
   HttpContext localContext = new BasicHttpContext();
   HttpGet httpGet = new HttpGet("Pastebin url");
   HttpResponse response = httpClient.execute(httpGet, localContext);
   String result = "";
   BufferedReader reader =
      new BufferedReader(
         new InputStreamReader(
            response.getEntity().getContent()));
   String line1 = null;
   while ((line1 = reader.readLine()) != null){
      result += line1 + "\n";
   }
   // Checks if the pastebin and Log.txt contains the same information
   if( total.toString().equals(result)){
      display.setText(
         "The two files are the same \n Log.txt: " + total.toString() +
         "\n Pastebin: " + result);
   } else if(total.toString()!=result) {
      display.setText(
         "The two files arent the same \n Log.txt: " + total.toString() +
         "\n Pastebin: " + result); 
   }

同じではないと言われているので、私がここで間違ったことを誰か教えてもらえますか?

4

1 に答える 1

3

問題は次の行にあります。

while ((line = r.readLine()) != null) {
    total.append(line);
}

改行文字を忘れた\n

while ((line = r.readLine()) != null) {
    total.append(line + "\n");
}

あなたがしたこととしてresult

while ((line1 = reader.readLine()) != null){
    result += line1 + "\n";
}

また、注意してください

else if(total.toString()!=result)

ただである必要があります

else
于 2013-02-28T20:34:43.300 に答える