Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java读取CSV的特定部分_Java_Csv - Fatal编程技术网

Java读取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;

我创建了以下代码来读取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;
      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