gpt4 book ai didi

java - 输入去哪里了?

转载 作者:行者123 更新时间:2023-12-02 06:18:04 25 4
gpt4 key购买 nike

我对编程有点陌生,根本没有使用过缓冲编写器。

据我所知,我的代码很好。但是我不知道在哪里,或者即使,这是打印到文件。我找不到该文件在哪里。

if (choice ==2) {
String Id;
String Name;
String Time;
int penalty;
String Code;

new FileWriter("res/dogs.txt",true);

try {
System.out.println("add a dog");
System.out.println("enter dog ID (cancel to quit)");
Id =k.next ();
System.out.println("enter dog name");
Name=k.next();
System.out.println("enter dogs time");
Time = k.next();
System.out.println("enter penalty quantity");
penalty = k.nextInt();
System.out.println ("enter course code");
Code = k.next();

if (!Id .equalsIgnoreCase ("cancel")) {
//true = append file
FileWriter fileWritter = new FileWriter(Dog.getName(),true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(Id);
bufferWritter.write(" ");
bufferWritter.write(Name);
bufferWritter.write(" ");
bufferWritter.write(Time);
bufferWritter.write(" ");
bufferWritter.write(penalty);
bufferWritter.write(" ");
bufferWritter.write(Code);
bufferWritter.write(" ");
bufferWritter.close();
}
} catch(IOException e){
e.printStackTrace();
}
} else if (choice == 3) {
mainmenu();
}

关于我做错了什么有什么想法吗?

最佳答案

关于您的写入位置,存在两个错误。第一个是您在 try block 中的代码开头使用 "res/dogs.txt" 路径创建一个新的 FileWriter ,但您没有永远不要使用它!

稍后在代码中,但在开始编写之前调用:

FileWriter fileWritter = new FileWriter(Dog.getName(),true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);

然后,您可以写入链接到 FileWriterBufferedWriter,文件路径为 Dog.getName(),无论是什么,并忽略您创建的原始文件编写器。

此外,您应该在 finally block 中调用 close() 方法,如下所示:

FileWriter writer //or other resource using method
try
{
//do stuff
}
catch(Exception)
{
//handle problem
}
finally
{
writer.close();
}

或者使用像这样的资源尝试甚至更好:

 try(BufferedWriter writer = new BufferedWriter(otherWriter))
{
//do stuff
}
catch(Exception)
{
//handle error
}

关于java - 输入去哪里了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21273473/

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