从csv文件读取数据,将数据存储在数组中,并使用java中的数据进行搜索

从csv文件读取数据,将数据存储在数组中,并使用java中的数据进行搜索,java,csv,Java,Csv,我想用java读取一个CSV文件,并将该数据存储在一个数组中,以便能够在另一个函数中使用该数据进行搜索 public ArrayList < Resp > processTextToRespList(String filePath) throws IOException { ArrayList < data > result = new ArrayList < data > (); br = new BufferedReader(new Fil

我想用java读取一个CSV文件,并将该数据存储在一个数组中,以便能够在另一个函数中使用该数据进行搜索

public ArrayList < Resp > processTextToRespList(String filePath) throws IOException {
    ArrayList < data > result = new ArrayList < data > ();
    br = new BufferedReader(new FileReader(csvFile));
    while((row = BufferedReader.readNext()) != null) {
        String line = scan.nextLine();
        String[][]  lineArray = line.split(" ");
        result.add(new esp(lineArray[0], lineArray[1], lineArray[2]));
    }
    return result;
}
publicArrayListProcessTextToResList(字符串文件路径)引发IOException{
ArrayListresult=新的ArrayList();
br=新的BufferedReader(新的文件读取器(csvFile));
while((row=BufferedReader.readNext())!=null){
String line=scan.nextLine();
字符串[][]lineArray=line.split(“”);
结果.添加(新esp(lineArray[0]、lineArray[1]、lineArray[2]);
}
返回结果;
}

我不太明白你的问题是什么,但我想这与你给出的代码有关。我修复了明显的错误,将其转化为更可编译的内容:

public List < Resp > processTextToRespList(String filePath) throws IOException {
    List<Resp> result = new ArrayList<>();
    File csvFile = new File(filePath);
    try(BufferedReader br = new BufferedReader(new FileReader(csvFile))){
        String row;
        while((row = br.readLine()) != null) {
            String[] lineArray = row.split(" ");
            result.add(new Resp(lineArray[0], lineArray[1], lineArray[2]));
        }
    }
    return result;
}
public ListProcessTextToResList(字符串文件路径)引发IOException{
列表结果=新建ArrayList();
File csvFile=新文件(filePath);
try(BufferedReader br=new BufferedReader(new FileReader(csvFile))){
字符串行;
而((row=br.readLine())!=null){
字符串[]lineArray=行。拆分(“”);
结果.添加(新的响应(线性阵列[0]、线性阵列[1]、线性阵列[2]);
}
}
返回结果;
}
我没有纠正任何逻辑,我只是使用了您声明的变量,而不是您编写并关闭FileReader的初始非java代码。 告诉我这对你来说是否足够,或者你的问题是否比这更复杂

说明:

我将结果声明为一个列表而不是ArrayList,因为这是我自己的感觉,这里没有真正的错误

您在
csvFile
上创建了一个文件阅读器,但从未声明过任何csvFile,我假设它是从
文件路径生成的
文件

我在
try with resources
块中声明了
FileReader
BufferedReader
,这样它们就会自动关闭

我在
br
上调用了
readLine
,因为它是我们实例化的
BufferedReader
,您不能只调用一个静态方法(它不存在)就希望它能工作

我拆分了我们刚刚读取的
,而不是从从未声明的扫描仪读取的某行


总之,我只是修复了一些明显的错误,这些错误可能是在复制粘贴一些代码时出现的。我不确定你是否理解你在写什么,也不知道你在做什么。

你的搜索标准是什么?这是ldap搜索。但是,我还可以,我只是不能让我的头开始阅读文件和存储信息,这样我就可以在每一行进行搜索。如果它是一个键值对类型的文件,那么使用Map而不是ArrayList,因为在搜索的情况下检索会快得多。可能会重复