gpt4 book ai didi

java - Java 中输出到文本文件

转载 作者:行者123 更新时间:2023-12-01 07:35:48 24 4
gpt4 key购买 nike

这是一项家庭作业,我必须编写一个程序来读取“input.txt”文件并查看打印称呼语的次数(例如:Donald Duck,4,因此它会打印 Hello Donald Duck 四次)我遇到的问题是将称呼输出到名为“output.txt”的文本文件中由于某种原因,它只打印出 input.txt 中最后一行的称呼,而不是全部。这是我到目前为止所得到的:

   import java.util.*;
import java.io.*;

public class Driver0 {

public static void main (String [] args) {
Scanner userInput = new Scanner(System.in);
System.out.println("Would you like the output to be written to a file?");
Scanner read;
String input = userInput.nextLine(); //user input
if(input.equals("yes")) {
System.out.println("Writing to \"output.txt\" now..");
}
else {
System.out.println("Printing to screen:");
}
try {
read = new Scanner(new File("input.txt")); //scanner reading file
}
catch (FileNotFoundException e){
System.out.println("File not found.");
return;
}
while(read.hasNextLine()) {
String newInput = read.nextLine();
String [] inputArray = newInput.split(","); //spliting
int num = 0;
num = Integer.parseInt(inputArray[2].trim());
for(int i = 0; i < num; i++) {
if(input.equals("yes")) { //writing to file
Driver0.outputting(inputArray);
}
else { //writing to screen
System.out.println("Hello" + inputArray[1] + inputArray[0]);
}
}
}
}
public static void outputting (String [] inputArray) {
PrintWriter output = null;
String fileName = "output.txt";
try {
output = new PrintWriter(new FileWriter(fileName));
}
catch(IOException error){
System.out.println("Sorry, can't open for writing.");
return;
}
output.println("Hello" + inputArray[1] + inputArray[0]);
output.close();
}
}

我的问题很可能出在输出方法中,或者它有一条注释说写入旁边的文件

最佳答案

每次通过 while 循环,您都会创建一个新的 PrintWriter ,向其中写入一行,然后关闭它。这只是每次都覆盖该文件。您可能应该只创建一个保持打开状态的 PrintWriter,然后附加到它。

关于java - Java 中输出到文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12291300/

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