考勤机里导出的演示数据----我只要前面2列,该怎么做?时间复杂度要求很高,做过大数据处理的兄弟帮帮忙
文本如下:        1 2013-10-22 11:08:31 1 0 1 0
        1 2013-10-22 11:08:37 1 0 1 0
        4 2013-10-22 11:23:01 1 0 1 0
        2 2013-10-22 11:23:12 1 0 1 0
        1 2013-10-22 11:23:20 1 0 1 0
        3 2013-10-22 11:23:25 1 0 1 0
        3 2013-10-22 11:23:30 1 0 1 0
        1 2013-10-22 12:22:44 1 0 1 0
        1 2013-10-22 12:22:48 1 0 1 0
        1 2013-10-22 12:22:52 1 0 1 0
        1 2013-10-22 12:23:03 1 0 1 0
        3 2013-10-22 12:23:12 1 0 1 0
        3 2013-10-22 12:23:21 1 0 1 0
        4 2013-10-22 12:24:54 1 0 1 0
        4 2013-10-22 17:24:50 1 0 1 0
        1 2013-10-23 17:41:27 1 0 1 0
        1 2013-10-23 17:41:32 1 0 1 0
        1 2013-10-23 17:44:51 1 0 1 0
        1 2013-10-23 17:52:44 1 0 1 0java大数据

解决方案 »

  1.   


    String[] s = "1 2013-10-22 11:08:31 1 0 1 0".split(" ");
    System.out.print(s[0]+" "+s[1]+" " +s[2]);
      

  2.   

    首先,我想问一下这个写在什么里面?
    是普通的csv文件么?另外这文件具体大约多大?
    简单的话看格式很整理
    String line;
    while(rs.....){
    System.out.println(line.str.substring(0, 50));//第二个参数为11:08:31最后一个字符的位置}
      

  3.   

    是文本文件,public static void main(String[] args) {
    try {
    FileReader fr=new FileReader(new File("D://dd.txt"));//你文件的地址
    BufferedReader br=new BufferedReader(fr);
    String line;
    //1 2013-10-22 11:08:31
    while((line=br.readLine())!=null){
    String str=line.substring(0, 23);
    System.out.println(str);
    }


    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    }
    d盘中的dd.txt文件:
      1 2013-10-22 11:08:31 1 0 1 0
    注意最前面有空格的输出结果:
      1 2013-10-22 11:08:31
    最前面也有空格。。
      

  4.   

    楼上的方法可以,然后你再System.out.println(" 1 2013-10-22 11:08:31".length());
    就是需要截取的长度
      

  5.   

    如果你的数据格式是完全工整的,直接按照字节数读取吧。按行读取再substring效率是比较低的
      

  6.   

    如果是按照楼主固定规则列出的数据那么楼上几位已经解决了,如果是怕内存溢出的话就两种方案咯。
    第一:增大jvm的使用内存
    第二:分段读取