首页 > 代码库 > Java实现的词频统计——单元测试

Java实现的词频统计——单元测试

  前言:本次测试过程中发现了几个未知字符,这里将其转化为十六进制码对其加以区分。

    1)保存统计结果的Result文件中显示如图:

      技术分享

    2)将其复制到eclipse环境下的切分方法StringTokenizer中却没有显示;

      复制前:

      技术分享

      复制后:

      技术分享

      前后看似没有任何变化;

    3)改动后的统计结果:

      技术分享

    因此为了检测这个字符做了一个将其转化为十六进制码的小程序:

 1         String t = "\0"; 2         String s = "\0"; 3         byte[] bbb = t.getBytes(); 4         int[] n = new int[bbb.length]; 5         for (int i = 0; i < n.length; i++) { 6             n[i] = bbb[i] & 0xff; 7         } 8         for (int j = 0; j < n.length; j++) { 9             System.out.println(Integer.toString(n[j], 0x10));10         }11         System.out.println("-----------------");12         byte[] b = s.getBytes();13         int[] in = new int[b.length];14         for (int i = 0; i < in.length; i++) {15             in[i] = b[i] & 0xff;16         }17         for (int j = 0; j < in.length; j++) {18             System.out.println(Integer.toString(in[j], 0x10));19         }

    运行结果如下:

    技术分享

    从结果可以看出,这个未知字符是由三个字符组成,而类似的难以识别的字符还有很多。

 

    此外,在做单元测试之前还做了一项额外的测试——read()方法读取文件时单次读取的字符数量对效率的影响:

    选取了从1-128、129-256、257-384、385-512四个范围,分别进行了测试。

    总测试次数2560次,耗时10min左右,统计结果:

    当取值在200左右时运行速率最快,平均值在210ms左右.

 

单元测试

  1.

  

 

Java实现的词频统计——单元测试