在TxT中查寻是否出现相同的String

在TxT中查找是否出现相同的String
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class byteTest {

    public static void main(String[] args) throws IOException {
        // 文件file对象
        File file = new File("D:\\app38.txt");
        // 构造BufferedReader对象
        BufferedReader reader = new BufferedReader(new FileReader(file));
        // 单行读取值
        String temString = null;
        // 存放所有数据
        StringBuilder bd = new StringBuilder();
        // 存放所有ID值
        List<String> StrValue = new ArrayList<String>();
        // 统计ID的总个数
        int line = 0;
        // 获得ID
        while ((temString = reader.readLine()) != null) {
            bd.append(temString);
            int n = temString.indexOf("<out_trade_no><![CDATA[");
            if (n != -1) {
                line++;
                String[] str = temString.split("CDATA\\[");
                String valueId = str[1].toString();
                String[] va = valueId.split("]]");
                StrValue.add(va[0]);
                System.out.print(va[0] + "\t");
            }
        }
        System.out
            .println("------------------------------------------------------------------------------------------------------------------------------------------");
        System.out.println("id总数量为:" + line);

        // 出现的次数
        int findCount = 0;
        // 每次匹配到的索引,用于删除
        int in = 0;
        // 判断单个ID出现的次数
        for (String s : StrValue) {
            System.out.println("匹配的数据" + s);
            while (true) {
                String findValue = "<out_trade_no><![CDATA[" + s + "]]></out_trade_no>";
                in = bd.toString().indexOf(findValue);
                if (in != -1) {
                    // 当前ID找到一次数量加1
                    findCount++;
                    // 删除已经统计过的匹配ID
                    bd.delete(in, in + findValue.length());

                    // 统计完成打印信息
                } else {
                    System.out.println("ID为" + s + "的出现了" + findCount + "次");
                    // 如数量出现异常将打印提示
                    if (findCount != 1) {
                        System.out
                            .println("上面ID出现次数异常xxxxxxxxxxxxxxxxxxxxxxxxxxxx");
                    }
                    System.out
                        .println("------------------------------------------------------------------------------------------------------------------------------------------");
                    // 计数统计还原
                    findCount = 0;
                    break;
                }
            }
        }

    }
}