Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 文件读取不正确_Java_File_Output - Fatal编程技术网

Java 文件读取不正确

Java 文件读取不正确,java,file,output,Java,File,Output,我读文件有困难。我从文件中获取数据,但当我去显示它们时,输出看起来越来越差。这是我的密码。我不想要一行数字。我只想让它们都像第一行数字一样被处理。我认为printf会有帮助,但它没有 File f = new File("divers.dat"); Scanner kb = new Scanner(f); while (kb.hasNext()) { String name = kb.nextLine();

我读文件有困难。我从文件中获取数据,但当我去显示它们时,输出看起来越来越差。这是我的密码。我不想要一行数字。我只想让它们都像第一行数字一样被处理。我认为printf会有帮助,但它没有

File f = new File("divers.dat");
Scanner kb = new Scanner(f);

while (kb.hasNext()) {
            
            String name = kb.nextLine();
            String school = kb.nextLine();
            String s1 = kb.next();
            String s2 = kb.next();
            String s3 = kb.next();
            String s4 = kb.next();
            String s5 = kb.next();
            String s6 = kb.next();
            String s7 = kb.next();
            String diff = kb.next();
            
            System.out.printf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s", name, school, s1, s2, s3, s4, s5, s6, s7, diff);
}
这是我的文件格式:

Lucieta Spinelli
Bryn Mawr College
8 9 8 7 8 8 8 2.5
7 8 7 6 7 7 6 3.7
8 7 6 7 7 6 8 3.2
LiPing Sun
Rutgers University
6.5 5 9.5 7.5 8 8.5 7 2.3
7 9 7.5 9 8.5 6.5 8 2.6
6 4 5 9 7 8 6 3.0
Greg McEntire
University of Southern California
9 8 8.5 9.5 9 9.5 7 2.3
9 7 8 8 7.5 8.5 7.5 2.6
8 8 8 8 8 8 8 3.4
Shiva Vadaparthy
Northwestern University
9 8 9.5 9.5 7.5 8 8.5 3.0
8 9 8.5 7.5 9 8.5 8 3.6
7.5 9 8 7 8.5 8 7 4.1
Elizabeth Bennet
Oxford University
7 8 9 8 7 7 8 2.4
8 8 6 7 9 7 8 2.7
8 7 8 6 9 8 9 3.0
Sofia Berrios
Universidad Simon Bolivar
8.5 7.5 9.5 9 7 8.5 8 2.4
8 7 8 9 8 6 7 3.0
7 5.5 6.5 7 5 6.5 7 3.6
Amir Majid
Reed College
4 5 6 5 3 5 7 2.8
7 6 7 8 7 9 8 2.9
8 9 7 9 8.5 8 9 3.4
James Pajuio
University of Pennsylvania
8 7 8 9 8 6 7 2.8
7.5 9 8 7 8.5 8 7 3.0
7.5 9 8 7 8.5 8 7 4.3
Sharon Lewis
Howard University
8 9 9.5 9 8.5 8 9 2.7
4 5 5.5 7 6.5 4.5 5 3.2
8 7 8 9 8 8 7 4.0
Divya Patel
Temple University
7 9 7.5 9 8.5 6.5 8 2.1
8 7 8 6 9 8 9 2.3
3.5 5.5 4 5 3 4 4.5 4.3
Guo Zhang
Portland State University
5 6 5.5 7 6.5 7 5.5 6 3.0
8 7 8.5 9 7.5 8.5 8 3.2
9 8 9.5 8.5 9 8.5 9.5 4.1
Tomasz Wojaczyk
Tufts University
8 8 7 8 7 8 7 2.6
5 4 5 6 7 5 5 2.9
8 6 6 7 8 7 6 3.6
Lucieta Spinelli
Bryn Mawr College
8
9
8
7
8
8
8
2.5
7 8 7 6 7 7 6 3.7
8
7
6
7
7
6
8
3.2
LiPing Sun
Rutgers
University
6.5
5
9.5
7.5
8
8.5 7 2.3
7 9 7.5 9 8.5 6.5 8 2.6
6
4
5
9
7
8
6
3.0
Greg McEntire
University
of
Southern
California
9
8
8.5
9.5 9 9.5 7 2.3
9 7 8 8 7.5 8.5 7.5 2.6
8
8
8
8
8
8
8
3.4
Shiva Vadaparthy
Northwestern
University
9
8
9.5
9.5
7.5
8 8.5 3.0
8 9 8.5 7.5 9 8.5 8 3.6
7.5
9
8
7
8.5
8
7
4.1
Elizabeth Bennet
Oxford
University
7
8
9
8
7
7 8 2.4
8 8 6 7 9 7 8 2.7
8
7
8
6
9
8
9
3.0
Sofia Berrios
Universidad
Simon
Bolivar
8.5
7.5
9.5
9
7 8.5 8 2.4
8 7 8 9 8 6 7 3.0
7
5.5
6.5
7
5
6.5
7
3.6
Amir Majid
Reed
College
4
5
6
5
3
5 7 2.8
7 6 7 8 7 9 8 2.9
8
9
7
9
8.5
8
9
3.4
James Pajuio
University
of
Pennsylvania
8
7
8
9
8 6 7 2.8
7.5 9 8 7 8.5 8 7 3.0
7.5
9
8
7
8.5
8
7
4.3
Sharon Lewis
Howard
University
8
9
9.5
9
8.5
8 9 2.7
4 5 5.5 7 6.5 4.5 5 3.2
8
7
8
9
8
8
7
4.0
Divya Patel
Temple
University
7
9
7.5
9
8.5
6.5 8 2.1
8 7 8 6 9 8 9 2.3
3.5
5.5
4
5
3
4
4.5
4.3
Guo Zhang
Portland
State
University
5
6
5.5
7
6.5 7 5.5 6 3.0
8 7 8.5 9 7.5 8.5 8 3.2
9
8
9.5
8.5
9
8.5
9.5
4.1
Tomasz Wojaczyk
Tufts
University
8
8
7
8
7
8 7 2.6
5 4 5 6 7 5 5 2.9
8
6
6
7
8
7
6
3.6
以下是输出:

Lucieta Spinelli
Bryn Mawr College
8 9 8 7 8 8 8 2.5
7 8 7 6 7 7 6 3.7
8 7 6 7 7 6 8 3.2
LiPing Sun
Rutgers University
6.5 5 9.5 7.5 8 8.5 7 2.3
7 9 7.5 9 8.5 6.5 8 2.6
6 4 5 9 7 8 6 3.0
Greg McEntire
University of Southern California
9 8 8.5 9.5 9 9.5 7 2.3
9 7 8 8 7.5 8.5 7.5 2.6
8 8 8 8 8 8 8 3.4
Shiva Vadaparthy
Northwestern University
9 8 9.5 9.5 7.5 8 8.5 3.0
8 9 8.5 7.5 9 8.5 8 3.6
7.5 9 8 7 8.5 8 7 4.1
Elizabeth Bennet
Oxford University
7 8 9 8 7 7 8 2.4
8 8 6 7 9 7 8 2.7
8 7 8 6 9 8 9 3.0
Sofia Berrios
Universidad Simon Bolivar
8.5 7.5 9.5 9 7 8.5 8 2.4
8 7 8 9 8 6 7 3.0
7 5.5 6.5 7 5 6.5 7 3.6
Amir Majid
Reed College
4 5 6 5 3 5 7 2.8
7 6 7 8 7 9 8 2.9
8 9 7 9 8.5 8 9 3.4
James Pajuio
University of Pennsylvania
8 7 8 9 8 6 7 2.8
7.5 9 8 7 8.5 8 7 3.0
7.5 9 8 7 8.5 8 7 4.3
Sharon Lewis
Howard University
8 9 9.5 9 8.5 8 9 2.7
4 5 5.5 7 6.5 4.5 5 3.2
8 7 8 9 8 8 7 4.0
Divya Patel
Temple University
7 9 7.5 9 8.5 6.5 8 2.1
8 7 8 6 9 8 9 2.3
3.5 5.5 4 5 3 4 4.5 4.3
Guo Zhang
Portland State University
5 6 5.5 7 6.5 7 5.5 6 3.0
8 7 8.5 9 7.5 8.5 8 3.2
9 8 9.5 8.5 9 8.5 9.5 4.1
Tomasz Wojaczyk
Tufts University
8 8 7 8 7 8 7 2.6
5 4 5 6 7 5 5 2.9
8 6 6 7 8 7 6 3.6
Lucieta Spinelli
Bryn Mawr College
8
9
8
7
8
8
8
2.5
7 8 7 6 7 7 6 3.7
8
7
6
7
7
6
8
3.2
LiPing Sun
Rutgers
University
6.5
5
9.5
7.5
8
8.5 7 2.3
7 9 7.5 9 8.5 6.5 8 2.6
6
4
5
9
7
8
6
3.0
Greg McEntire
University
of
Southern
California
9
8
8.5
9.5 9 9.5 7 2.3
9 7 8 8 7.5 8.5 7.5 2.6
8
8
8
8
8
8
8
3.4
Shiva Vadaparthy
Northwestern
University
9
8
9.5
9.5
7.5
8 8.5 3.0
8 9 8.5 7.5 9 8.5 8 3.6
7.5
9
8
7
8.5
8
7
4.1
Elizabeth Bennet
Oxford
University
7
8
9
8
7
7 8 2.4
8 8 6 7 9 7 8 2.7
8
7
8
6
9
8
9
3.0
Sofia Berrios
Universidad
Simon
Bolivar
8.5
7.5
9.5
9
7 8.5 8 2.4
8 7 8 9 8 6 7 3.0
7
5.5
6.5
7
5
6.5
7
3.6
Amir Majid
Reed
College
4
5
6
5
3
5 7 2.8
7 6 7 8 7 9 8 2.9
8
9
7
9
8.5
8
9
3.4
James Pajuio
University
of
Pennsylvania
8
7
8
9
8 6 7 2.8
7.5 9 8 7 8.5 8 7 3.0
7.5
9
8
7
8.5
8
7
4.3
Sharon Lewis
Howard
University
8
9
9.5
9
8.5
8 9 2.7
4 5 5.5 7 6.5 4.5 5 3.2
8
7
8
9
8
8
7
4.0
Divya Patel
Temple
University
7
9
7.5
9
8.5
6.5 8 2.1
8 7 8 6 9 8 9 2.3
3.5
5.5
4
5
3
4
4.5
4.3
Guo Zhang
Portland
State
University
5
6
5.5
7
6.5 7 5.5 6 3.0
8 7 8.5 9 7.5 8.5 8 3.2
9
8
9.5
8.5
9
8.5
9.5
4.1
Tomasz Wojaczyk
Tufts
University
8
8
7
8
7
8 7 2.6
5 4 5 6 7 5 5 2.9
8
6
6
7
8
7
6
3.6

我想您必须从打印语句中删除所有新行元素
\n


System.out.printf(“%s”+“%s”+“%s”+“%s”+“%s”+“%s”+“%s”+“%s”+“%s”+“%s”+“%s”+“%s”+“%s”+”+“+”,名称,学校,s1,s2,s3,s4,s5,s6,s7,diff)

在每次迭代中,您的代码读取两个完整的行元素加上八个数字,但您的文件每个块有24个数字。

根据,查找并返回来自此扫描仪的下一个完整标记。同时将此扫描仪推进到当前行,并返回跳过的输入

在您的情况下,输入是重复2行字符串(姓名和学校)和3行数字(每行8个数字)。您选择使用
nextLine
读取2行字符串(姓名和学校),使用
next
读取所有数字。下面是您共享的示例代码中的问题,我们将解决这些问题:

  • 在每次迭代中,在阅读完姓名和学校之后,您需要阅读24个数字,而不仅仅是8个数字
  • 由于您使用的是
    nextLine
    (使用新行
    \n
    )和
    next
    (不使用新行
    \n
    )的混合,因此需要小心并正确使用所有新行
    \n

    例如,在阅读了8个数字之后,您仍然需要阅读一行新行
    \n
    。下一次调用
    nextLine
    (这将使扫描仪前进到当前行,并返回跳过的输入值)。如果在读取8个数字后未调用
    nextLine
    ,则扫描器将不会使用输入中这8个数字后的新行
    \n
    。并且当您在下一次迭代中尝试通过调用
    nextLine
    读取名称时,它将按照您的期望使用上一新行,而不是包含下一个名称的行
  • \n
    printf
    的最后一行缺少,因此下一次迭代中的名称将打印在新行上
  • 通过以上三点的修复,您的代码应该如下所示:

    文件f=新文件(“divers.dat”);
    扫描仪kb=新扫描仪(f);
    while(kb.hasNext()){
    字符串名称=kb.nextLine();
    字符串school=kb.nextLine();
    System.out.printf(“%s\n%s\n”,名称,学校);
    对于(int i=0;i<3;i++){//fix for point#1,读取24个数字,而不仅仅是8个
    字符串s1=kb.next();
    字符串s2=kb.next();
    字符串s3=kb.next();
    字符串s4=kb.next();
    字符串s5=kb.next();
    字符串s6=kb.next();
    字符串s7=kb.next();
    字符串diff=kb.next();
    kb.nextLine();//修复点#2
    系统输出打印F(“%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n”,s1、s2、s3、s4、s5、s6、s7、差异);
    //第3点的修正-------------------------------^
    //但是,如果新行上不需要所有数字,则使用此选项
    //我建议使用与名称和学校类似的nextLine()
    //而不是多个后续呼叫
    //系统输出打印F(“%s%s%s%s%s%s%s%s%s%s\n”,s1、s2、s3、s4、s5、s6、s7,差异);
    }
    }
    
    参考文献:

    Lucieta Spinelli
    Bryn Mawr College
    8 9 8 7 8 8 8 2.5
    7 8 7 6 7 7 6 3.7
    8 7 6 7 7 6 8 3.2
    LiPing Sun
    Rutgers University
    6.5 5 9.5 7.5 8 8.5 7 2.3
    7 9 7.5 9 8.5 6.5 8 2.6
    6 4 5 9 7 8 6 3.0
    Greg McEntire
    University of Southern California
    9 8 8.5 9.5 9 9.5 7 2.3
    9 7 8 8 7.5 8.5 7.5 2.6
    8 8 8 8 8 8 8 3.4
    Shiva Vadaparthy
    Northwestern University
    9 8 9.5 9.5 7.5 8 8.5 3.0
    8 9 8.5 7.5 9 8.5 8 3.6
    7.5 9 8 7 8.5 8 7 4.1
    Elizabeth Bennet
    Oxford University
    7 8 9 8 7 7 8 2.4
    8 8 6 7 9 7 8 2.7
    8 7 8 6 9 8 9 3.0
    Sofia Berrios
    Universidad Simon Bolivar
    8.5 7.5 9.5 9 7 8.5 8 2.4
    8 7 8 9 8 6 7 3.0
    7 5.5 6.5 7 5 6.5 7 3.6
    Amir Majid
    Reed College
    4 5 6 5 3 5 7 2.8
    7 6 7 8 7 9 8 2.9
    8 9 7 9 8.5 8 9 3.4
    James Pajuio
    University of Pennsylvania
    8 7 8 9 8 6 7 2.8
    7.5 9 8 7 8.5 8 7 3.0
    7.5 9 8 7 8.5 8 7 4.3
    Sharon Lewis
    Howard University
    8 9 9.5 9 8.5 8 9 2.7
    4 5 5.5 7 6.5 4.5 5 3.2
    8 7 8 9 8 8 7 4.0
    Divya Patel
    Temple University
    7 9 7.5 9 8.5 6.5 8 2.1
    8 7 8 6 9 8 9 2.3
    3.5 5.5 4 5 3 4 4.5 4.3
    Guo Zhang
    Portland State University
    5 6 5.5 7 6.5 7 5.5 6 3.0
    8 7 8.5 9 7.5 8.5 8 3.2
    9 8 9.5 8.5 9 8.5 9.5 4.1
    Tomasz Wojaczyk
    Tufts University
    8 8 7 8 7 8 7 2.6
    5 4 5 6 7 5 5 2.9
    8 6 6 7 8 7 6 3.6
    
    Lucieta Spinelli
    Bryn Mawr College
    8
    9
    8
    7
    8
    8
    8
    2.5
    7 8 7 6 7 7 6 3.7
    8
    7
    6
    7
    7
    6
    8
    3.2
    LiPing Sun
    Rutgers
    University
    6.5
    5
    9.5
    7.5
    8
    8.5 7 2.3
    7 9 7.5 9 8.5 6.5 8 2.6
    6
    4
    5
    9
    7
    8
    6
    3.0
    Greg McEntire
    University
    of
    Southern
    California
    9
    8
    8.5
    9.5 9 9.5 7 2.3
    9 7 8 8 7.5 8.5 7.5 2.6
    8
    8
    8
    8
    8
    8
    8
    3.4
    Shiva Vadaparthy
    Northwestern
    University
    9
    8
    9.5
    9.5
    7.5
    8 8.5 3.0
    8 9 8.5 7.5 9 8.5 8 3.6
    7.5
    9
    8
    7
    8.5
    8
    7
    4.1
    Elizabeth Bennet
    Oxford
    University
    7
    8
    9
    8
    7
    7 8 2.4
    8 8 6 7 9 7 8 2.7
    8
    7
    8
    6
    9
    8
    9
    3.0
    Sofia Berrios
    Universidad
    Simon
    Bolivar
    8.5
    7.5
    9.5
    9
    7 8.5 8 2.4
    8 7 8 9 8 6 7 3.0
    7
    5.5
    6.5
    7
    5
    6.5
    7
    3.6
    Amir Majid
    Reed
    College
    4
    5
    6
    5
    3
    5 7 2.8
    7 6 7 8 7 9 8 2.9
    8
    9
    7
    9
    8.5
    8
    9
    3.4
    James Pajuio
    University
    of
    Pennsylvania
    8
    7
    8
    9
    8 6 7 2.8
    7.5 9 8 7 8.5 8 7 3.0
    7.5
    9
    8
    7
    8.5
    8
    7
    4.3
    Sharon Lewis
    Howard
    University
    8
    9
    9.5
    9
    8.5
    8 9 2.7
    4 5 5.5 7 6.5 4.5 5 3.2
    8
    7
    8
    9
    8
    8
    7
    4.0
    Divya Patel
    Temple
    University
    7
    9
    7.5
    9
    8.5
    6.5 8 2.1
    8 7 8 6 9 8 9 2.3
    3.5
    5.5
    4
    5
    3
    4
    4.5
    4.3
    Guo Zhang
    Portland
    State
    University
    5
    6
    5.5
    7
    6.5 7 5.5 6 3.0
    8 7 8.5 9 7.5 8.5 8 3.2
    9
    8
    9.5
    8.5
    9
    8.5
    9.5
    4.1
    Tomasz Wojaczyk
    Tufts
    University
    8
    8
    7
    8
    7
    8 7 2.6
    5 4 5 6 7 5 5 2.9
    8
    6
    6
    7
    8
    7
    6
    3.6
    

    不清楚您实际想要什么输出。您想把[学生]的名字放在一行吗?您想把学校的名字放在一行吗?您想把每个数字都放在一行吗?也许您可以提出您的问题,然后发布您希望输出的显示方式。您不需要发布整个输出,只要足够清楚即可。