如何在坐标为 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-List
s 读取 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];
}
我的程序需要读取一个具有不同数据结构和可变分隔符的文件。 在我的属性文件中,您可以设置分隔符并为不同变量的值放置坐标:
separator = ;
variable1 = 1,7
variable2 = 2,42
我希望有一种方法可以访问具有某种坐标的列和线。
我正在考虑这样的语法:
file.get(1,7,";")
(这会给你第 1 行和第 7 列的值,并带有特定的分隔符) 有人知道执行此操作的库或代码片段吗?
例如,您可以使用 OpenCSV or SuperCSV。我不知道有任何库可以获取 'coordinates' 的信息,但它就像使用给定分隔符 List
-of-List
s 读取 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];
}