このエラーが発生するのはなぜですか?テキストファイルから読み込み、パスワードとユーザー名が一致すればログインできるようにする必要がありますが、 "no line is found"というエラーが表示されます。しかし、私のテキストファイルを使用すると、実際のエラーを示した場合、それが参考になるラインスレッドのメインエラーで例外が発生しましたか?
import java.util.*;
import java.io.*;
public class Program7_4Part2 {
public static void main(String[] args) throws IOException {
Scanner fileInput = new Scanner(new File("accounts.txt"));
// PART 2
ArrayList<String> userNames = new ArrayList<>();
ArrayList<String> passwords = new ArrayList<>();
// read data from file
while (fileInput.hasNextLine()) {
userNames.add(fileInput.next());
String line = fileInput.nextLine();
String[] userName = line.split(" ");
userNames.add(userName[0]);
passwords.add(userName[1]);
}
// login
System.out.println("Login.");
System.out.println("Username: ");
String userNameLogin = fileInput.nextLine();
System.out.println("Password: ");
String pwLogin = fileInput.nextLine();
}
}
ファイルに次の行がなくなるまでループした後、次の行を読み込もうとしています...この状況ではどうなると思いますか? – azurefrog
どうすれば修正できますか? – Boundz
できません。定義すると、ファイル内の*すべての*行を読み込んだ場合、残っている行はありません。 – azurefrog