java - 如何在现有文件中追加新行?
问题描述
添加完我应该添加的内容后,我应该如何添加新行。我有以下代码:
try{
String textToAppend = question+userInput+","+typeOfAnswer;
Files.write(Paths.get("save.txt"), textToAppend.getBytes(), StandardOpenOption.APPEND);
}
catch (NoSuchFileException e){
}
catch(IOException e){
}
示例:问题:富兰克林·罗斯福的名字首字母是什么?userInput: RED typeOfAnswer 将是错误的:错误
我从一个文件中得到我的问题和真实答案,然后我将真实答案与 userInput 进行比较,看看 typeOfAnswer 是否是错误/正确的。我想在文件中输出问题、userInput 和 typeOfAnswer,但我有多个问题,因此我想在新行上分别输出最终结果。
解决方案
如评论:
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);
}
}
文件内容
By what initials was Franklin Roosevelt better known?RED,wrong
Which number president was Franklin Roosevelt?RED,wrong
运行程序 3 次后的文件内容
By what initials was Franklin Roosevelt better known?RED,wrong
Which number president was Franklin Roosevelt?RED,wrong
By what initials was Franklin Roosevelt better known?RED,wrong
Which number president was Franklin Roosevelt?RED,wrong
By what initials was Franklin Roosevelt better known?RED,wrong
Which number president was Franklin Roosevelt?RED,wrong
推荐阅读
- google-apps-script - UrlFetchApp.fetch 由 Sheets 事件触发,因缺少权限而失败,但在直接运行时有效
- xml - 使用 XSLT 根据属性修改数据
- php - 作曲家更新给出错误说插件无法初始化,没有为每个包找到类
- ios - SwiftUI SecureField 跟踪活动/非活动状态
- python - 如何添加脚本任务以在 Bamboo 中运行 pytest
- android - 如何从android中的“MainActivity”更新片段内的Listview?
- python - Python Selenium - 在未找到预期值时尝试使测试失败
- python - 如何使用函数显示对象的属性值
- python - 如何在 Python 中创建一个密码来结束被拒绝的代码的以下部分?
- r - 无法安装 RCall - Julia 包