-1

私が現在やろうとしているのは、.CSVユーザー loin 資格情報に関する情報を次の形式で含むファイルから情報を取得することです。

UserName,Password,PropertyName,PropertyValue 
UserName,Password,PropertyName,PropertyValue

そこで、split() 関数を使用してユーザー名情報を分離する方法を見つけました。プログラムのコマンドラインに入力されたユーザー名がcsvファイルのユーザー名と一致するかどうか、および指定されたパスワードと一致するかどうかを検索するCLIクラスでこの情報を使用するのが非常に困難です。どんな助けでも大歓迎ですありがとう。

import java.util.*;
import java.io.*;
import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;

public class readCSV {
    private String[] userData;
    public void checkLogin() throws IOException
    {
        String fileName = "C:/Users/Sean/Documents/Programming assigment/Users.csv";
        File file = new File(fileName);
        try
        {
            Scanner inputStream = new Scanner(file);
            while(inputStream.hasNext()){
                {
                    String data = inputStream.next();
                    userData = data.split(",");
                }
            }
        } catch(FileNotFoundException er){
            System.out.print(er); 
            System.exit(0);
        }
    }

    public String getLogin()
    {
        return userData[0];
    }
}

CLI

import java.util.*;
import java.io.*;
public class CLI
{
    Scanner input = new Scanner(System.in);
    private readCSV l1 = new readCSV();

    public void login() throws IOException
    {
        System.out.println("Enter Username:");
        String username = input.nextLine();
        System.out.println("Enter Password:");
        String password = input.nextLine();
        try{
            l1.checkLogin();
        }
        catch(Exception er){ System.out.print(er); }

ユーザー名とパスワードを確認するために、このコード行に行き詰まりました

4

1 に答える 1

2

あなたのプログラムの設計はよく考えられていません。理想的には、メソッドはユーザー名とパスワードのcheckLogin2 つの引数を受け入れ、ログイン資格情報が正しいかどうかを判断するためにa を返す必要があります。Stringboolean

public boolean checkLogin(String username, String password) {
    // Read CSV file, compare entries against provided username and password.
    // Return true if a match is found. Otherwise, return false.
}

そして明らかにあなたのloginメソッドでは、入力されたユーザー名とパスワードをcheckLoginメソッドに渡します:

boolean loggedIn = false;
try {
    loggedIn = checkLogin(username, password);
} catch(Exception ex) {
    ex.printStackTrace();
}
于 2012-11-23T10:50:48.707 に答える