gpt4 book ai didi

java - 从文本文件中提取单独的代码并将其存储到数组中以供进一步使用

转载 作者:行者123 更新时间:2023-12-02 10:40:34 26 4
gpt4 key购买 nike

所以我应该从文本文件中读取 ID、用户名、密码(它们用“~!~”分隔)1~!~Jhon~!~12345 2~!~马克~!~12345 3~!~琳达~!~abcde 4~!~玛丽~!~qwerty这是文本文件的样子,即使我的输入是 (1 Jhon 12345),我的代码也总是提示 false。

public boolean LoginAsAdmin (int myID,String myUserName,String myPassword) 抛出 FileNotFoundException{

      File myFile = new File ("D:\\Java\\DATA.txt");
Scanner Writer = new Scanner(myFile);
int j = 0;
while (Writer.hasNext()){
Admin myAdmin1 = new Admin();
String output = Writer.nextLine();
StringTokenizer Data = new StringTokenizer(output,"~!~");
if(
myAdmin1.setID(Integer.parseInt((String) Data.nextToken()))&&
myAdmin1.setUserName((String) Data.nextToken())&&
myAdmin1.setPassword((String) Data.nextToken())){
myAdmin[j] = myAdmin1;


}
j++;
}
for (int i = 0; i < j; i++){

if(myAdmin[i].getID() == myID && myAdmin[i].getUserName().equals(myUserName) && myAdmin[i].getPassword().equals(myPassword)){
return true;
}
}
return false;
}

最佳答案

您不想将 nextTokenif 语句一起放置,因为如果第一个 testfalse,它将提前失败 - 另外,我不确定为什么您的 setters 返回 boolean 值。

首先,我建议您使用 BufferedReader 从文本文件中读取行 - 请参阅 https://www.mkyong.com/java/how-to-read-file-from-java-bufferedreader-example/举个例子。

然后对每一行执行

String arr[] = inputStr.split("~!~");

for (int i = 0; i < arr.length; i = i + 3) {

Admin myAdmin1 = new Admin ();
String id = arr[i];
myAdmin1.setId (id);
String name = arr[i + 1];
myAdmin1.setUsername (name);
String passwd = arr[i + 2];
myAdmin1.setPassword (passwd)
myAdmin[i % 3] = myAdmin1;
System.out.printf("%d %s %s%n", Integer.parseInt(id), name, passwd);

}

关于java - 从文本文件中提取单独的代码并将其存储到数组中以供进一步使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52939444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com