Java读取CSV的特定部分
我创建了以下代码来读取CSV文件:Java读取CSV的特定部分,java,csv,Java,Csv,我创建了以下代码来读取CSV文件: public void read(String csvFile) { try { File file = new File(csvFile); FileReader fr = new FileReader(file); BufferedReader br = new BufferedReader(fr); String line = ""; String[] tempArr;
public void read(String csvFile) {
try {
File file = new File(csvFile);
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String line = "";
String[] tempArr;
while((line = br.readLine()) != null) {
tempArr = line.split(ABSTAND);
anzahl++;
for(String tempStr : tempArr) {
System.out.print(tempStr + " ");
}
System.out.println();
}
br.close();
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
我有一个超过30万行的CSV,看起来是这样的:
{9149F314-862B-4DBC-B291-05A083658D69};格贝德;特尔姆·格贝德;;分裂状态;{41C949A2-9F7B-41EE-93FD-631B76F2176D}Altdorf300m;办公室;Hochdutsch inkl。洛卡尔·斯普拉钦;Einfacher名称684600295930;四百
我现在怎么能只得到其中的一些部分呢?我只需要使用粗体/斜体部分。无需进一步说明您的要求/输入限制,以下内容应在您的循环中起作用
String str = "{9149F314-862B-4DBC-B291-05A083658D69};Gebaeude;TLM_GEBAEUDE;;Schiessstand;{41C949A2-9F7B-41EE-93FD-631B76F2176D};Altdorf 300m;offiziell;Hochdeutsch inkl. Lokalsprachen;Einfacher Name;;684600;295930;400";
String[] arr = str.split("[; ]", -1);
int cnt=0;
// for (String a : arr)
// System.out.println(cnt++ + ": " + a);
System.out.println(arr[6] + ", " + arr[15] + ", " + arr[16]);
请注意,这假定您的分隔符是分号或空格,并且所需的字段位于固定位置(6、15、16)。
结果:
这回答了你的问题吗?
Altdorf, 684600, 295930