【问题标题】:Return only the column 2 of a Text File - JAVA仅返回文本文件的第 2 列 - JAVA
【发布时间】:2016-11-25 06:29:11
【问题描述】:

我有一个结构如下的文本文件:

Col_A           Col_B            Col_C
  1               2                 3
  1               2                 3
  1               2                 3

我只想获得第二列。结果应该是:

2
2
2

我有以下代码,但它只给了我第一行:

BufferedReader br = new BufferedReader(new FileReader("/home/cloudera/Downloads/sms-call-internet-tn-2013-12-31.txt"));
String line = br.readLine();
String[] columns = line.split("/t");
String valueNeeded = columns[0];
System.out.println(valueNeeded);

我怎样才能做到这一点?

非常感谢!!!

【问题讨论】:

    标签: java text-files bufferedreader


    【解决方案1】:

    只需使用循环读取所有行:

            BufferedReader br = new BufferedReader(new FileReader("/home/cloudera/Downloads/sms-call-internet-tn-2013-12-31.txt"));
            String line = null;
    
            while ((line = br.readLine()) != null) {
    
                String[] columns = line.split("/t");
                String valueNeeded = columns[1];
                System.out.println(valueNeeded);
    
            }
    

    【讨论】:

    • 您好,Berger,感谢您的回复。您的代码运行很酷,但我只想返回第二列...
    • @SaCvP :哦,是的,只需使用数组的索引 1 而不是 0,我编辑了答案。
    • 它给了我以下错误:线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 1 at Unix_TimeStamp.main(Unix_TimeStamp.java:14)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 2017-12-24
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 2012-09-07
    相关资源
    最近更新 更多