请教大家一个问题,我手头有个文本文件,比如c:\1.txt,其中包含double数据和“,”和换行回车,形式如下:1.23,4.67
4.67,-3.56
7.985,4.1
9.864,8.27
我想要把这些double数据读到一个double数组里,请大家指教下怎么做好吗?没有思路啊,谢谢大家!

解决方案 »

  1.   

    首先读取文件并解析出数字字符串,然后
    Double.parseDouble()
    方法可以将字符串转化为 double 值。
      

  2.   

    先readLine,然后split一下,然后再分别parse一下就可以了。
      

  3.   

    字符串截取,再用parse一下就可以了
      

  4.   

    楼主正解。每次读取一行,然后在把这个行split(“,”) 分割成两个,加到你的目标数组中去。。
    。。
      

  5.   

    能帮我稍微写几句吗?我没用过split和正则表达式。。
      

  6.   

    String line = "";
    double[] result = new double(100);
    while(line = br.readLine() != null) {
        int count = 0;
        String[] arr = line.split(",");
        result[count++] = arr[0];
        result[count++] = arr[1];
    }
      

  7.   

    用正则表达式
    使用find()方法,group出来,其他的外围具体怎么实现你可以自己随便弄,
    用正则表达式速度很快
      

  8.   

    先正则表达式(\\d)?(\.\\d)?把双浮点数group出来,然后放到ArrayList中,然后直接转化成array,我觉得这样比较好。
    可能正则表达式有问题,随便想的
      

  9.   

    java中的过滤流DataInputStream.readDouble()
      

  10.   


    只是提供了一点思路,当然还有细节:
    (line = br.readLine() != null) 
    result[count++] = Double.parseDouble(arr[0]);
    result[count++] = Double.parseDouble(arr[1]);实际操作的时候再进行完善。
      

  11.   


    String line = ""; 
    List<Double> list = new ArrayList<Double>();
    while((line = br.readLine()) != null) { 
       
        String[] arr = line.split(","); 
        list.add(Double.parseDouble(arr[0]));
        list.add(Double.parseDouble(arr[1]));
    }Double[] value = (Double[])list.toArray(new Double[list.size()]);