Java 如何在现有文件中追加新行?
在我添加完我应该添加的内容后,我应该如何添加新行。 我有以下代码:Java 如何在现有文件中追加新行?,java,file,newline,printstream,Java,File,Newline,Printstream,在我添加完我应该添加的内容后,我应该如何添加新行。 我有以下代码: try{ String textToAppend = question+userInput+","+typeOfAnswer; Files.write(Paths.get("save.txt"), textToAppend.getBytes(), StandardOpenOption.APPEND); } catch (NoSuchF
try{
String textToAppend = question+userInput+","+typeOfAnswer;
Files.write(Paths.get("save.txt"), textToAppend.getBytes(), StandardOpenOption.APPEND);
}
catch (NoSuchFileException e){
}
catch(IOException e){
}
示例:问题:富兰克林·罗斯福的名字缩写是什么?用户输入:红色类型的回答将错误:错误
我从一个文件中得到我的问题和真实答案,然后将真实答案与用户输入进行比较,看看答案的类型是否正确。我想将问题、userInput和TypeOfAnwer输出到一个文件中,但我有多个问题,因此我想在每一行上输出最终结果。如注释所示:
证明
文件内容
富兰克林·罗斯福的名字缩写是什么?瑞德,错了
富兰克林·罗斯福是哪个号码的总统?红色,错了
运行程序3次后的文件内容
富兰克林·罗斯福的名字缩写是什么?瑞德,错了
富兰克林·罗斯福是哪个号码的总统?红色,错了
富兰克林·罗斯福的名字缩写是什么?瑞德,错了
富兰克林·罗斯福是哪个号码的总统?红色,错了
富兰克林·罗斯福的名字缩写是什么?瑞德,错了
富兰克林·罗斯福是哪个号码的总统?红色,错了
如注释所示:
证明
文件内容
富兰克林·罗斯福的名字缩写是什么?瑞德,错了
富兰克林·罗斯福是哪个号码的总统?红色,错了
运行程序3次后的文件内容
富兰克林·罗斯福的名字缩写是什么?瑞德,错了
富兰克林·罗斯福是哪个号码的总统?红色,错了
富兰克林·罗斯福的名字缩写是什么?瑞德,错了
富兰克林·罗斯福是哪个号码的总统?红色,错了
富兰克林·罗斯福的名字缩写是什么?瑞德,错了
富兰克林·罗斯福是哪个号码的总统?红色,错了
您得到了什么异常?
textToAppend+=System.lineSeparator()
@EmreSavcı我没有得到任何例外,但如果我尝试创建如下文本:textToAppend=“\n”+question+userInput+,“+typeOfAnswer
我不会在新行中获得新信息。@Andreas尝试过..我也有同样的问题..我得到这样的东西:富兰克林·罗斯福的缩写是什么?红色,错误哪一位总统是富兰克林·罗斯福?红色,错误
。错与错是分不开的Which@Ryk您是否在Windows上使用记事本显示文件内容?如果是这样,请注意记事本不会将\n
识别为行尾标记。只有\r\n
。会出现什么异常?textToAppend+=System.lineSeparator()
@EmreSavcı我没有得到任何例外,但如果我尝试创建如下文本:textToAppend=“\n”+question+userInput+,“+typeOfAnswer
我不会在新行中获得新信息。@Andreas尝试过..我也有同样的问题..我得到这样的东西:富兰克林·罗斯福的缩写是什么?红色,错误哪一位总统是富兰克林·罗斯福?红色,错误
。错与错是分不开的Which@Ryk您是否在Windows上使用记事本显示文件内容?如果是这样,请注意记事本不会将\n
识别为行尾标记。仅\r\n
。如果我的文件已经存在怎么办?我是否必须放置StandardOpenOption.Create?StandardOpenOption.Create
意味着如果文件不存在,它将创建该文件。如果我的文件已经存在,该怎么办?是否必须放置StandardOpenOption.Create?StandardOpenOption.Create
意味着如果文件不存在,它将创建该文件。
textToAppend += System.lineSeparator();
import java.nio.file.*;
public class Test {
public static void main(String[] args) throws Exception {
save("By what initials was Franklin Roosevelt better known?", "RED", "wrong");
save("Which number president was Franklin Roosevelt?", "RED", "wrong");
}
public static void save(String question, String userInput, String typeOfAnswer) throws Exception {
String textToAppend = question + userInput + "," + typeOfAnswer;
textToAppend += System.lineSeparator();
Files.write(Paths.get("save.txt"), textToAppend.getBytes(), StandardOpenOption.APPEND, StandardOpenOption.CREATE);
}
}