有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在Java中从excel中读取特定行?

我试图编写一个程序,让我能够检索excel文件中存储的个人详细信息。我决定用电子邮件作为识别每个人的一种方式,因为它们是独一无二的。我的程序似乎不起作用,有人能帮我吗

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

public class Reader {

    public static void main(String[] args) {

        String csvFile = "Clients.csv";
        BufferedReader br = null;
        String line = "";
        String cvsSplitBy = ",";

        try {

            br = new BufferedReader(new FileReader(csvFile));
            while ((line = br.readLine()) != null) {
                if(((br.readLine().split(cvsSplitBy))[2]).equals("email@gmail.com")){
                    String[] data = line.split(cvsSplitBy);

                    System.out.println("First Name: "+data[0]+" Last Name: "+data[1]+" Activity Level: "+data[7]);

                }

            }

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

    }

}

共 (1) 个答案

  1. # 1 楼答案

    以下是修复我的问题的更正代码:

            String csvFile = "Clients.csv";
            BufferedReader br = null;
            String line = "";
            String cvsSplitBy = ",";
    
            try {
    
                br = new BufferedReader(new FileReader(csvFile));
                while ((line = br.readLine()) != null) {
                    String[] data = line.split(cvsSplitBy);
                    if(data[2].equals("samuelfairbrass@icloud.com")){
    
    
                        System.out.println("First Name: "+data[0]+" Last Name: "+data[1]+" Email: "+data[2]+" Phone Number: "+data[3]+" Activity Level: "+data[7]);
    
                    }
    
    
                }
    
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (br != null) {
                    try {
                        br.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }