gpt4 book ai didi

Java(读取和写入文件)

转载 作者:行者123 更新时间:2023-11-30 01:58:48 24 4
gpt4 key购买 nike

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;

public class backup {

public static void main(String[] args) {
System.out.println("\nThe names in the file are:\n");
readFromFile();
}

public static void readFromFile() {
try {
Scanner file = new Scanner(new File("Names.txt"));
PrintWriter pass = new PrintWriter("pass.txt");
PrintWriter fail = new PrintWriter("fail.txt");

Scanner input = new Scanner(System.in);
while (file.hasNext()) {
String name = file.nextLine();
System.out.printf("Please enter " + name + "'s mark:");
int mark = input.nextInt();
Scanner kybd = new Scanner(System.in);
{
if (mark >= 40) {
// System.out.println(name + " has passed");
pass.println(name);
} else {
// System.out.println(name + " has failed");
fail.println(name);
}
}
} // end while
} // end try
catch (IOException ioe) {
System.out.println("Error handling file");
} // end catch
}// readFromFile
}

无法写入文件通过并失败,名称文件只是一个名称列表,如果用户得分超过 40,他们就会进入通过,但我无法获取 txt 文件来填充输出。

当我插入打印机时,它只是添加到通过或失败 txt 文件中的最后一个条目。

最佳答案

PrintWriter仅当它们关闭( close )或刷新( flush 或者当它认为是时候时才真正写入;-))。

尝试使用try-with-resources只要有可能,这样您就不需要考虑关闭/刷新流或写入器。 try-with-resources 负责 AutoClosable - 实现在 try block 末尾自动关闭。

使用 try-with-resources 重写的示例(仅显示初始部分):

try(
Scanner file = new Scanner(new File("Names.txt"));
PrintWriter pass = new PrintWriter("pass.txt");
PrintWriter fail = new PrintWriter("fail.txt")
) {

其余部分可以保持原样...或者如果您愿意:您可能还想查找 Files-API 。也许使用 Files.lines有适合你的吗?

关于Java(读取和写入文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53540705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com