java - 使用scanner和for循环从文件输入

时间:2016-12-16 08:16:55

标签: java for-loop java.util.scanner

我有一个文件file.txt,其中包含

形式的数据
integer n
title1
authorName1 authorSurname1
...
title n
authorNamen authorSurnamen
integer m
userName1 userSurname1
...
userNamem userSurnamem

我尝试做的是扫描第一个整数,然后将整个标题行扫描为一个字符串,作者姓名和姓氏作为单独的字符串,然后循环该过程n次。然后我想扫描第二个整数,将用户名和姓氏作为单独的字符串读取,并循环这么多次。 我目前的尝试(不是最好的,不能记住我以前如何拥有它)看起来像这样:

public void readFile()
{
    int n=0;
    int m=0;
    while(fileReader.hasNextInt()) {
        n = fileReader.nextInt();
        for(int i=0; i<=n; i++) {
            while(fileReader.hasNextLine()) {
                 String bookTitle = fileReader.nextLine();
                 String authorFirstName = fileReader.next();
                 String authorSurname = fileReader.next();
                 ArrayList<Book>.add(new Book(bookTitle,authorFirstName,authorSurname));
                }
            }
        m = fileReader.nextInt();
        for(int i=0; i<=n; i++) {
            while(fileReader.hasNext()) {
                String userFirstName = fileReader.next();
                String userSurname = fileReader.next();
                ArrayList<User>.add(new User(userFirstName,userSurname));
            }
        }
    }
}

我无法按照自己的意愿输出它。我是使用扫描仪的新手,并且结合了for循环使我的大脑融化了一点

0 个答案:

没有答案