【问题标题】:Reading specific line from text file java从文本文件java中读取特定行
【发布时间】:2013-10-28 10:11:15
【问题描述】:

大家好,我有一个这样的文本文件

1,2,姓名,3

如何获取第 2 列中编号为 2 的所有行?

到目前为止,我可以读取文件并对其进行更新等。

【问题讨论】:

  • 请贴出您用来读取文件的代码。
  • 你的问题太模糊了,这样不行。
  • 读取每一行,如果行不为空,则使用 ',' 作为分隔符拆分并检查数组 [1]=2,如果是,则将该行添加到集合中...对所有重复行

标签: java file text


【解决方案1】:

我觉得你可以这样走..

逐行读取文件。 阅读每一行后,使用字符串标记器并获取第二列。 并检查天气是否为“2”。

希望对你有帮助,简单的方法...

【讨论】:

  • 感谢它的工作,但最后我使用了正则表达式并打印了所有包含特定模式的行,谢谢
【解决方案2】:
ArrayList<String[]> tempArrayList = new ArrayList<String[]>();

第一步:逐行读取文件

String row = "row read from file";

第 2 步:按字符 ',' 分割每一行

String[] temp = row.split(',');

第 3 步:将拆分后的数组存储在所需的数据类型对象中

tempArrayList.add(temp);

【讨论】:

    【解决方案3】:

    如果您的列是指在 csv 文件的上下文中,其中一行中的列用逗号分隔,那么您可以执行以下操作

        try {
            BufferedReader reader = new BufferedReader(new FileReader(new File("test.txt")));
            String readLine = null;
            int count = 0;
            while((readLine = reader.readLine()) != null) {
                count++;
                String[] words = readLine.split(",");
                if(words[1]!=null && words[1].equalsIgnoreCase("2")) {
                    System.out.println("Criteria met at Line number " + count);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();  
        }
    

    【讨论】:

      猜你喜欢
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多