如何在坐标为 Java 的文件中获取值

How to get a value in a file with coordinates in Java

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

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

我希望有一种方法可以访问具有某种坐标的列和线。

我正在考虑这样的语法:

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

(这会给你第 1 行和第 7 列的值,并带有特定的分隔符) 有人知道执行此操作的库或代码片段吗?

例如,您可以使用 OpenCSV or SuperCSV。我不知道有任何库可以获取 'coordinates' 的信息,但它就像使用给定分隔符 List-of-Lists 读取 CSV 然后调用

csv.get(1).get(7)

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

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

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

PS: 在需要的地方照顾NullPointerExceptions

使用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];
}