多线程处理的话,谁有例子 
 
 
 
对我有用[0]丢个板砖[0]引用举报管理TOP回复次数:4  
abstruct
(该用户不懒,是不想设置昵称)等 级:
 #1楼 得分:40回复于:2012-04-10 15:21:58日志处理是要如何处理?提问的时候也请告知明白点吧  
 
 
对我有用[0]丢个板砖[0]引用举报管理TOP精华推荐:唐僧师徒谁最适合做销售的答案 
QQ785468931
(QQ785468931)等 级: #2楼 得分:0回复于:2012-05-09 16:36:22<158>May 7 07:34:48 tcpproxy[19476]: 220.181.94.232:58390 [07/May/2012:07:34:47.994] http-in default_server/cache1 116/0/0/3/119 404 1524 - - ---- 54/54/10/7/0 0/0 {22kk.too9.com} GET /dlmt/index.html?sid=7159 HTTP/1.1<158>May 7 07:56:37 tcpproxy[13595]: 220.181.124.180:55674 [07/May/2012:07:56:37.080] http-in default_server/cache2 1/0/0/4/5 404 1524 - - ---- 70/70/9/2/0 0/0 {22kk.too9.com} GET /yixuanf/index.html?sid=1860 HTTP/1.1 
 
 
对我有用[0]丢个板砖[0]引用举报管理TOP精华推荐:国内顶级IT公司面试题,答案 
QQ785468931
(QQ785468931)等 级: #3楼 得分:0回复于:2012-05-09 16:40:14就是这种格式的文件,统计出同一个域名被不同地方的人访问了多少次,用正则取出ip跟域名,相同的ip追加1,~ 
 
 
对我有用[0]丢个板砖[0]引用举报管理TOP精华推荐:### Java学习方法的一点个人见解-老紫竹 
QQ785468931
(QQ785468931)等 级: #4楼 得分:0回复于:2012-05-09 16:40:55然后再排序~ 
 

解决方案 »

  1.   

      String[] temp2 = temp.split(":");
      
      for(int i=0;i<temp2.length;i++){
      
      
     
      
      
      System.out.println(temp2[3]);
      
      }
    这样的话为什么数组索引会越界
      

  2.   


    会不会是因为temp2.length就是为0 呢
      

  3.   

     String[] temp2 = new String[10000];
      
     temp2 =  temp.split(":");我定义了它的长度他还是越界啊
    我改用 StringTokenizer截取了~
      

  4.   

    你定义没用的。temp.split(":")会返回一个数组,就是你前面的定义白定义了。
    好比 String[] temp2 = null;temp2 =  temp.split(":");
    干脆就这么写就可以了String[] temp2 = temp.split(":");
      

  5.   

    有点小麻烦。
    一行一行读出来
    放入Set set = new TreeSet(new Comparator(){
    @Override
    public int compare(Object o1;Object o2){
    //逻辑
    }
    });
    然后compare就是你要排序的规则了。
      

  6.   

    谢谢啊,我想就是要放到一个map里那样的,java基础奇差啊,上次日志处理是用php写的
      

  7.   

    set是无序的 
    map是key/value映射 
    list是有序的
    =====
    我看网上说~~
      

  8.   

    我觉得用haspMap比较好吧~有键值~php数组就有键值啊~
      

  9.   

    TreeSet是有序的。HashSet是无序的。没看出你这里要键值对。
    用TreeMap可以实现排序。
      

  10.   


    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.Comparator;
    import java.util.Set;
    import java.util.TreeSet;
    public class Test{ public static void main(String[] args) throws IOException {
    Set<String> set = new TreeSet<String>(new Comparator<String>() {
    public int compare(String arg0, String arg1) {
    String[] key1 = arg0.split("\\.");
    String[] key2 = arg1.split("\\.");
    for (int i = 0; i < key1.length; i++) {
    if (Integer.parseInt(key1[i]) == Integer.parseInt(key2[i])) {
    continue;
    }
    if (Integer.parseInt(key1[i]) > Integer.parseInt(key2[i])) {
    return 1;
    }
    if (Integer.parseInt(key1[i]) < Integer.parseInt(key2[i])) {
    return -1;
    }
    }
    return 0;
    }
    }); BufferedReader br = new BufferedReader(new FileReader("test.txt"));
    String line = null;
    while ((line = br.readLine()) != null) {
    set.add(line.trim());
    } System.out.println(set);
    }
    }本来不想重写,找到以前的代码,改了改。把你数据放到文件中。改一下文件名和路径得到排好序的set了。
      

  11.   

    Exception in thread "main" java.lang.NumberFormatException: For input string: ""
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
    at java.lang.Integer.parseInt(Integer.java:470)
    at java.lang.Integer.parseInt(Integer.java:499)
    at com.test.Test$1.compare(Test.java:16)
    at com.test.Test$1.compare(Test.java:1)
    at java.util.TreeMap.put(TreeMap.java:530)
    at java.util.TreeSet.add(TreeSet.java:238)
    at com.test.Test.main(Test.java:33)
      

  12.   

    String[] key1 = arg0.split("\\.");
                    String[] key2 = arg1.split("\\.");
    ===
    这两行是什么意思?
      

  13.   

    不要带空行。我都测试过了。
    String[] key1 = arg0.split("\\.");
    String[] key2 = arg1.split("\\.");
    只是把ip地址分成4个字符串。
      

  14.   

    124.226.113.179=5
    124.226.113.176=3
    124.226.113.178=2
    这是你的数据?
    String line = null;
            while ((line = br.readLine()) != null) {
                     if(!"".equals(line)){
                      set.add(line.trim().split("=")[0]);
            }
                
    }
      

  15.   

    这是我需要的结果~
    网上有例子,但我看不太懂~
    import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 对字符集中字符出现的次数继续排序。 *  * @author 赵学庆 <A href="http://www.java2000.net/">www.java2000.net</A> */public class T {  public static void main(String args[]) {   String str = "12345678hfdjkslahfkj932189oiefsjkar94werfdsf";   Map<Character, KeyValue> map = new HashMap<Character, KeyValue>();   char c;   KeyValue kv = null;   for (int i = 0; i < str.length(); i++) {    c = str.charAt(i);    kv = map.get(c);    if (kv == null) {     kv = new KeyValue();     kv.ch = c;     kv.count = 1;     map.put(c, kv);    } else {     kv.count++;    }   }   List<KeyValue> list = new ArrayList<KeyValue>(map.values());   Collections.sort(list);   for (KeyValue o : list) {    System.out.println(o.ch + "=" + o.count);   }  } } class KeyValue implements Comparable {  public int compareTo(Object obj) {   if (obj instanceof KeyValue) {    KeyValue kv = (KeyValue) obj;    return kv.count - this.count;   }   return -1;  }  char ch;  int count; } 
      

  16.   

    String  shu="huodsa:hhhhh";  
                               
         shu.split(" :  ")   就是将这个字符串  以冒号为 分隔符 分成一个数组
                                 [0]  就是  huodsa   [1]  就是  hhhhh
      

  17.   

    Exception in thread "main" java.util.NoSuchElementException
    at java.util.StringTokenizer.nextToken(StringTokenizer.java:332)
    at com.test.TextConvertor3.main(TextConvertor3.java:81)