能搜索i跟love,可能问题出在换行符的地方。
看下搜索you的时候,temp打出来是什么值??

解决方案 »

  1.   

    s="add" 但是 temp="add\r"
    改成while((t=(char)bw.read())!=' ' && t!='\n' && t!='\r')试试
      

  2.   

    不过,我建议你用String.indexOf()更简单。
      

  3.   

    先全部读出来放置在一个String里面然后使用indexOf()方法。简单易行。
    代码略,自己写才有学习的效果。
      

  4.   

    package com.test.csdn.others;import java.io.*;public class TestSearch
    {
        public static void main(String[] args) throws Exception
        {        BufferedReader bw = new BufferedReader(new FileReader("c:\\test.txt"));
            BufferedReader bwi = new BufferedReader(new InputStreamReader(System.in));        String s, temp = "";
            char t;        System.out.print("输入要找的词:");
            System.out.flush();
            s = bwi.readLine();        while (bw.ready())
            {
                while ( (t = (char) bw.read()) != ' ' && t != '\n' && t!='\r')
                {                temp += t; //读词
                }            System.out.println(temp); //该语句检查temp是否成功读得一个词
                if (s.equals(temp) )
                {
                    System.out.println("founded " + s);
                    System.exit(0);
                }
                temp = "";        }
            System.out.println();
            System.out.println("not found!");    }}