Я пытаюсь прочитать CSV-файл из другого класса, а затем взять данные и сравнить их с информацией для входа, указанной пользователем в основном классе. Я могу сделать это, поставив все в основной класс, но он выглядит не очень аккуратно.Чтение CSV-файла с использованием другого класса, а затем вход в систему java
--Main--
package supscription.service;
/**
*
* @author jakec
*/
import java.util.*;
public class SubscriptionService {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String username;
String password;
Scanner input = new Scanner(System.in);
System.out.println("Log in:");
System.out.println("username: ");
username = input.nextLine();
System.out.println("password: ");
password = input.nextLine();
users check = new users(username, password);
if(check.auth())
System.out.println("You are logged in");
else
System.out.println("Log in failed");
}
}
--users--
public class users {
private String username;
private String password;
private String File = ("MEMBER.csv");
Scanner scan = new Scanner (SubscriptionService.class.getResourceAsStream(File)).useDelimiter(",");
String user = scan.nextLine();
String pass = scan.nextLine();
public users(String user, String pass){
username = user;
password = pass;
}
public boolean auth(){
if((username.equals (user)) && (password.equals (pass)))
return true;
else
return false;
}
}
--The CSV--
Member_ID,Username,Password
11001,Jack Brown,123
11009,James White,12
11014,Barbara Jones,58
...
Похоже, что этот вопрос может быть более уместным для 'CodeReview.SE', но я бы сказал, что сохранение паролей в ящике отлично подходит для упражнения, но не для производственного кода, и что разбор CSV-файла таким образом будет если данные «11007», «Брайан Грин, младший», 123456'. Я бы использовал [Apache Commons CSV] (https://commons.apache.org/proper/commons-csv/). –
Да, я знаю это, не волнуйтесь, я использую это только как практику, и спасибо, что указали мне на обзор кода. У меня будет вид ура. –