此 CSV 阅读器还通过使用地图工具检查电子邮件地址和密码的有效性。
import java.io.*;
import java.util.*;
public class CSVReaders{
public static void run(String[] args) throws Exception {
Map<String, String> emailPasswordMap = new HashMap<String, String> ();
BufferedReader CSVFile =
new BufferedReader(new FileReader("testa453.csv"));
String dataRow = CSVFile.readLine();
while (dataRow != null){
String[] dataArray = dataRow.split(",");
emailPasswordMap.put (dataArray[0], dataArray[1]);
dataRow = CSVFile.readLine();
}
CSVFile.close();
//Scanner in = new Scanner(System.in);
//String email = in.nextLine();
//String password = in.nextLine();
String password = ("raj45");
String email = ("rakhter@bluebell.org");
if (password.equals (emailPasswordMap.get (email))) {
System.out.println ("The entered email and password are valid");
}
else {
System.out.println ("The entered email and password are invalid");
}
}
}
我遇到的问题是,在运行时,当我将“//”更改为字符串密码和电子邮件并尝试使用包含程序“运行”但控制台窗口没有出现的扫描仪时,我必须强制停止程序以使其停止运行。虽然像我在这里展示的那样使用它,但它工作得很好。以前我在扫描仪上遇到与静态和非静态变量相关的错误。我查找了它们并尝试使用实例变量,但收效甚微。是我声明扫描仪错误的方式还是我不能将映射与扫描仪结合使用?
编辑:我目前在 Mac 上使用 BlueJ,因为我对 java 编程相当陌生。是的,正如我所引用的那样,它确实有效,只有当我尝试使用扫描仪时它才会停止工作。