假设txt 1里有"Hello, how are you"
txt 2里有"Hello, i'm fine"
那两个txt之间就有"Hello"这一个字词相同
不知道想做到这个效果,要有怎样的code呢?
希望有大大可以帮帮忙~

解决方案 »

  1.   

    不太难,你这样想,输入文件流以字节的方式读取文件,而后通过read方法将输入流写入你自定义的一个byte型数组,接下来你就可以通过双重for循环来比较两个byte型数组的内容了,最终就是在比较两个数组,这个你会了吧。这样做是一个字符一个字符的比较,不是单词的比较,但是你可以稍加改进,就可以了,比如你不对byte数组直接操作,而是把它转化成String类型再比较
      

  2.   

    一个简单的思路就是那一个txt中的分离出单词,逐个去另外一个txt中从头到尾匹配,哈哈,速度是慢了点
      

  3.   

    把一个文件中的单词读取出来放到list中,然后读取另外一个文件,解析单词,到list中判断是否存在
      

  4.   

    谢谢楼上各位的意见
    读单字也是我想过的,但的确不如单词好用再回4楼的,这我也知道,但.read是传回byte的,不知道怎么判断是空格呢?
      

  5.   

    原来是传回int啊,不知道1楼的为什么说byte呢@@~
      

  6.   

    额,sorry,可能我表达的有问题,read方法的解释是这样的:
    Reads some number of bytes from the input stream and stores them into the buffer array b我的意思是这样:
    byte []b=new byte[512];
    InputStream is=new FileInputStream("d:\\s.txt");
    is.read(b);
      

  7.   


    空格的ascii码是多少那就是多少啊~~
      

  8.   

    好的,不知道要对比两个list的元素应该怎样写?
      

  9.   


    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Test{
        public static void main(String[] args){
            String str1 = "111122111";
            String str2 = "2222222";
            String result = getMaxPattern(str1,str2);
            System.out.println("result: " + result);
        }
        
        private static int getGaps(String str1,String str2){
            return str1.length() - str2.length();
        }    public static String getMaxPattern(String str1,String str2){
            String result = new String();
            if(getGaps(str1,str2) > 0){
                    String temp = str1;
                    str1 = str2;
                    str2 = temp;
                }        String temp = null;
            String regex = ".";
            Pattern pattern = Pattern.compile(regex);
            Matcher matcher = pattern.matcher(str1);        int realPoint = 0;
            int patternPoint = 0;        int i = 0 ;
            while(matcher.find(realPoint)){
                temp = str1.substring(patternPoint, ++ realPoint);
                if(str2.contains(temp)){
                    if(temp.length() > result.length()){
                        result = temp;
                    }
                }else{
                    patternPoint ++;
                    realPoint = patternPoint;
                }
            }        return result;
        }}具体参考:http://topic.csdn.net/u/20090625/21/04686322-28f3-4239-9a35-c98e481d52fe.html