java - for 循环后输入未写入文件

标签 java

导入java.util.Scanner; 导入java.io.*;

公共(public)类 Kazarian_MadLibs {

public static void main(String[] args) throws IOException {

    Scanner keyboard = new Scanner(System.in);

    File file = new File("Mad Libs 1.txt");

    Scanner inputFile = new Scanner(file);

    System.out.println("Please provide a word for each of the following: ");

    PrintWriter answers = new PrintWriter("answers.txt");

    inputFile.nextLine();

    for (int i = 0; i < 18; i++)
    {   
        System.out.println(inputFile.nextLine());
        keyboard.next();
        answers.println(keyboard.nextLine());
        answers.close();

    }

for 循环执行完所有 18 行后,它不会将我的任何答案写入“answers.txt”文件。我在这里做错了什么?谢谢

最佳答案

close 语句移出 for 循环,这样就不会在每次迭代中关闭 PrintWriter。此外,您每次迭代都会从 Scanner 实例读取两次 - 只需读取一次值并写入文件

for (int i = 0; i < 18; i++) {
    System.out.println(inputFile.nextLine());
    String answer = keyboard.nextLine(); // Assign variable here
    answers.println(answer);
}

answers.close();

关于java - for 循环后输入未写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20021415/

相关文章:

java - 如果时间戳映射到数据库/从数据库映射,则 Timestamp#equals() 失败

Java 处理 TIF 图像

java - 在 BigDecimal 中显示 0.20 而不是 0.2

java - 关于 Java 嵌套 if 语句的问题

java - 返回事物或导致调用范围/上下文返回的辅助方法

java - 为什么 Thread.interrupt() 会这样?

java - 按住按钮操作方法

java - 双向@OneToOne级联问题JPA/Hibernate/Spring-Data

java - 元素不可见 : Element is not currently visible and may not be manipulated

java - 将对象转换为接口(interface)未实现?