Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.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
解析CSV拉取数据并进行比较,但不起作用。JAVA_Java_Parsing_Csv_Compare - Fatal编程技术网

解析CSV拉取数据并进行比较,但不起作用。JAVA

解析CSV拉取数据并进行比较,但不起作用。JAVA,java,parsing,csv,compare,Java,Parsing,Csv,Compare,我有一个我创建的CSV文件。我正在尝试提取数据,然后对某些数据进行检查 CSV文件内容 "12/05/14","Hay Square","10.00","10","","","" "12/05/14","Hay Round","75","1","","","" "12/05/14","Feed","12.50","10","","","" "12/05/14","Feet","10","","trusty","","" "12/05/14","Feed","4","5","","","" "12

我有一个我创建的CSV文件。我正在尝试提取数据,然后对某些数据进行检查

CSV文件内容

"12/05/14","Hay Square","10.00","10","","",""
"12/05/14","Hay Round","75","1","","",""
"12/05/14","Feed","12.50","10","","",""
"12/05/14","Feet","10","","trusty","",""
"12/05/14","Feed","4","5","","",""
"12/05/14","Wormer","12.75","","trusty","",""
"12/05/14","Feed","12","10","","",""
"","Feed","","","","",""
"12/05/14","Medicine","124.85","","sunny","",""
"12/05/14","Feet","90","","speedy","",""
我使用的是基本代码,打印可以很好地打印它找到的内容,但它不会通过if语句进行比较。我到处找,什么也没找到。奇怪,因为我认为这是普遍的做法

正如您在代码中看到的,我只是在寻找“提要”,并希望打印找到的内容。这只是一个更大项目的测试代码,所以这是非常未完成的

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays;

public class ReadCSV {

  public static void main(String[] args) {

    ReadCSV obj = new ReadCSV();
    obj.run();

  }

  public void run() {

    String csvFile = "c:/horse/horsespending.csv";
    BufferedReader br = null;
    String line = "";
    String cvsSplitBy = ",";

    try {

        br = new BufferedReader(new FileReader(csvFile));
        while ((line = br.readLine()) != null) {

                // use comma as separator
            String[] country = line.split(cvsSplitBy);
            String test = country[1].toString();
            String tester = "\"Feed\"";
            System.out.println("check " + country[1]);
            if(test == tester){
            System.out.println("found");            
            } 
        }

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (br != null) {
            try {
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    System.out.println("Done");
  }

        }
输出:

check "Purchase"
check "Hay Square"
check "Hay Round"
check "Feed"
check "Feet"
check "Feed"
check "Wormer"
check "Feed"
check "Feed"
check "Medicine"
check "Feet"
Done

您不会将java中的字符串与
==
进行比较,而是使用:

test.equals(tester)

因为字符串是java中的对象类型,所以使用.equals()而不是== 你在考虑原语

testString.equals(toCompareToString) //boolean return
快乐编码!

哦,太粗糙了!我读过这篇文章,但并不认为这是我需要做的。谢谢同上。我读过,但出于某种原因,我认为这不适合我的情况!还在学习,在这里自学直到大学开始。谢谢你的链接!福斯特!!!很高兴我能帮上忙。同舟共济,学以致用,朋友们,继续前进!