【问题标题】:How to get a value in a file with coordinates in Java如何在Java中获取带有坐标的文件中的值
【发布时间】:2020-04-19 02:05:25
【问题描述】:

我的程序需要读取具有不同数据结构和变量分隔符的文件。 在我的属性文件中,您可以设置分隔符并为不同变量的值放置坐标:

separator = ;
variable1 = 1,7
variable2 = 2,42

我想有一种方法可以访问带有某种坐标的列和行。

我正在考虑这样的语法:

file.get(1,7,";")

(这将为您提供带有特定分隔符的第 1 行和第 7 列的值) 有人知道可以做到这一点的库或代码 sn-p 吗?

【问题讨论】:

标签: java file csv line


【解决方案1】:

使用String.split()

public String get(File file, int lineNumber, int column, String separator ) {
        //getting to the lineNumber of the file ommitted 
        // suppose you got it in a String named "line"
        return line.split(separator)[column - 1];
}

【讨论】:

    【解决方案2】:

    例如,您可以使用OpenCSVSuperCSV。我不知道有任何库可以获取您的“坐标”,但它就像使用给定分隔符读取 CSV 一样简单,例如 List-of-Lists 然后调用

    csv.get(1).get(7)
    

    【讨论】:

      【解决方案3】:

      好像是一个简单的文件处理,你应该先处理文件-

      • 创建ArrayList<ArrayList<String>> processedFile
      • 读取每一行,使用"line".split(separator)分割
      • 将上面的数组存储在ArrayList processedFile的当前索引处
      • 每行增加索引

      processedFile 准备就绪后,您可以简单地使用processedFile.get(row).get(column)。此外,一旦文件被处理,所有其他查询将是 O(1)。提示就足够了,试着自己写代码,你会学到更多。

      PS:在需要的地方照顾NullPointerExceptions

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-08
        • 2010-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多