代码要求用户输入项目名称、价格和数量。我看到它创建了一个文件,但里面没有字符串?缓冲器有问题吗?提前感谢,
userInput:输入物品名称:item1输入物品价格$14输入物品数量:3是否需要其他物品?是(y)或否(n)n
代码:
while(userInput.charAt(0)!='n'){
System.out.print("Enter item name: ");
itemName = kybd.nextLine();
PrintWriter out0 = new PrintWriter(new BufferedWriter(new FileWriter("registryCopy.txt", true)));
System.out.print("Enter item price $");
price = kybd.nextLine();
PrintWriter out1 = new PrintWriter(new BufferedWriter(new FileWriter("registryCopy.txt", true)));
System.out.print("Enter item quantity: ");
quantity = kybd.nextLine();
PrintWriter out2 = new PrintWriter(new BufferedWriter(new FileWriter("registryCopy.txt", true)));
System.out.print("Do you want another item? Yes(y) or No(n)");
userInput= kybd.next();
}//end of whileLoop
编辑后仍然一样-文件中没有字符串:
while(userInput.charAt(0)!='n'){
PrintWriter out0 = new PrintWriter(new BufferedWriter(new FileWriter("registryCopy.txt", true)));
System.out.print("Enter item name: ");
itemName = kybd.nextLine();
out0.println(itemName);
update2:好的,所以它是out0.flush()结尾处的刷新;我的输出是:item1/nextline,price//nextline,quantity/nextline。。。我该如何使它保持在同一条线上,以便稍后可以使用hasNext进行一些操作?
更新3:获取索引出界。成功保存文件后。我打开文件以执行以下任务:查找每个项目的总成本、总计数和总和。不知道我为什么会出界。错误指出 totalCost = Double.parseDouble(index[1].trim());源代码:
Scanner data = new Scanner(new File("registryCopy.txt"));
while(data.hasNext()){
String line = data.nextLine();
System.out.println(line);
String[] index = line.split("\\t");
totalCost += Double.parseDouble(index[1].trim());
totalCount += Integer.parseInt(index[2].trim());
sum = totalCost/totalCount;
}
你没有写信给这个:
PrintWriter out0 = new PrintWriter(new BufferedWriter(new FileWriter("registryCopy.txt", true)));
(或您的其他2个作家),但只是打开它准备写作。尝试写入并冲洗/关闭它。
查看此SO问题/答案,了解有关如何写入文件的更多信息。
问题内容: 因此,我一直试图为我的一个朋友编写一个Bukkit插件,由于某种原因,配置生成无法正常工作。有问题的代码在下面,我很乐意添加人们需要帮助的所有代码。当我运行程序时,创建的配置文件最终空白。测试文件很好(我只是通过注释掉删除文件的行来测试它),但是一旦我尝试获取多行,它就会失败。有人可以帮忙吗? 整个过程包含在try / catch循环中,只是为了捕获可能弹出的任何错误。我感觉到我缺少一
问题内容: 我目前正在阅读“用困难的方式学习Python”,已经读到了第16章。 写入文件后,似乎无法打印文件的内容。它只是不打印任何内容。 问题答案: 你不调用函数和,而不是你只是得到他们的 指点 。由于它们是函数(或更准确地说,是方法),因此您需要在函数名称后调用它:。 那就是问题所在; 您以写入模式打开文件,该模式将删除文件的所有内容。您写入了文件,但从未关闭它,因此更改从未提交,文件保持为
问题内容: 我想在Elasticsearch中导入一个文本文件。文本文件每行包含3个值。经过数小时的奋斗,我没有完成它。非常感谢您的帮助。 安装了Logstash的Elasticsearch 5.4.0。 样本数据: 还构建了一个python脚本,但是它太慢了: 编辑:感谢它的工作,但我想我的筛选器很烂,因为我希望它看起来像这样: 然后将数据如下所示: 问题答案: 只需将其放入一个名为: 然后使用
我目前正在通过webpack/babel在React应用程序中使用ES6。我使用索引文件收集模块的所有组件并将其导出。不幸的是,这看起来是这样的: 所以我可以很好地从其他地方导入它,比如: 显然,这不是一个很好的解决方案,所以我想知道,是否还有其他方法。我似乎无法直接导出导入的组件。
问题内容: 我必须阅读tomcat日志文件,并在一段时间(例如:一个小时)后再次读取该文件(仅针对新添加的内容),因此我创建了RandomAccessFile来记录我完成的最后一个位置并使用BufferedReader.readLine()方法。 但是,我发现有时我无法读取文件的整行。 例如,tomcat正在尝试编写以下内容(仅作为示例): 192.168.0.0本地主机/index.html .
问题内容: 我试图从SQL中提取数据,然后将其写入文本文件。这在一定程度上做到了这一点, 但它仅从读取文本文件 的表中拉出1 。 我希望能够从表中提取所有数据,然后以诸如此类的列表格式发布到文本文件中… 我需要找出我做错了什么。 问题答案: 该函数将覆盖整个文件- 这就是为什么每次都只获得最后一条记录的原因。 您可以使用和代替。 尽管比构造一个大字符串并使用单个调用稍微复杂一些,但是如果您有很多记
我有以下节点。JS(使用Express运行)代码: 该路由用作对Spotify Web API的请求的回调,因此我可以获得访问令牌。 Spotify然后重定向到上面的回调函数,您可以通过查看“redirect_URI”在URI中看到它。 如果需要有关Spotify授权流的更多信息,请参见此处。 这是我用来向Spotify验证我的应用程序的URI。 https://accounts.spotify.
问题内容: 我试图做一些简单的命令来向文件中写入hello world: 这将返回一个空文件。 问题答案: Python每次之后都不会刷新文件。您要么需要使用以下命令手动刷新它: 或自己关闭它: 在实际程序中使用文件时,建议使用: 这样可以确保即使抛出异常也将关闭文件。但是,如果您想在REPL中工作,则可能要坚持手动关闭它,因为它会在尝试执行之前尝试读取全部内容。