[英]Java scanner class reading tab delimited strings from text file
我是一名學習Java編碼的學生。 我正在嘗試檢查文本文件中的用戶名和密碼。 如果文本文件包含用戶名,則接下來的3個字段將分配給變量。
文本文件具有4個制表符分隔的字段和5個唯一的行。
如果從文本文件的第一行輸入用戶名和密碼,則可以獲取布爾值以返回true。 如果我輸入任何其他用戶名或密碼,則布爾值保持為false。 我使用一種打印方法,並告訴while循環遍歷整個文件。
我試圖弄清楚為什么沒有將文本文件的其他行與用戶名或密碼變量進行比較。
我的代碼:
while (inFS.hasNext() && !userGood && !passGood) {
credString = inFS.next();
System.out.println(credString);
if (userName.equals(credString)) {
userGood = true;
System.out.println("*****userGood TRUE");
encryptedPass = inFS.next();
unencryptedPass = inFS.next();
userRole = inFS.next();
if (sb.toString().equals(encryptedPass)){
passGood = true;
System.out.println("*****passGood TRUE");
break;
}
}
}
問題在於next()方法不會跳過一行,因此您應該在進行下一個while迭代之前進行nextLine()調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.