当前位置: 首页 > 面试题库 >

写入后为空白文件吗?

贲文景
2023-03-14
问题内容

因此,我一直试图为我的一个朋友编写一个Bukkit插件,由于某种原因,配置生成无法正常工作。有问题的代码在下面,我很乐意添加人们需要帮助的所有代码。当我运行程序时,创建的配置文件最终空白。测试文件很好(我只是通过注释掉删除文件的行来测试它),但是一旦我尝试获取多行,它就会失败。有人可以帮忙吗?

PrintWriter out = new PrintWriter(new FileWriter(config));
out.println("########################################");
out.println("#  hPlugin is written by newbiedoodle  #");
out.println("########################################");
out.println("#   -----  Plugin config file  -----   #");
out.println("########################################");
out.println("NOTE: Do not edit the config file besides changing the values - it may result in errors.");
out.println("--------------");
out.println("Strikes before being banned?");
out.println("3");
out.println("Godmode?");
out.println("true");
out.println("First time running the plugin?");
out.println("true");
out.println("Curse protection?");
out.println("true");
out.println("Emergency shelter?");
out.println("true");
out.println("Path building?");
out.println("true");
out.println("Blocked words/phrases (Separate with comma)");
out.println("[censored]");
out.close();
System.out.println("Successfully wrote defaults to config");

整个过程包含在try / catch循环中,只是为了捕获可能弹出的任何错误。我感觉到我缺少一些非常明显的东西,但是我找不到它。

  • configFile具有所需路径的对象,所以我不认为这是那样的

  • 我让程序几乎将所有事情分开做,以便我可以准确地告诉用户发生错误的位置,因此该文件是在try/ 之外创建的catch


问题答案:

你需要打电话给…

out.flush();

…在您致电之前…

out.close();

PrintWriter使用内存中的缓冲区来更有效地使用磁盘。您需要调用flush()告诉PrintWriter写入数据。



 类似资料:
  • 问题内容: 我试图做一些简单的命令来向文件中写入hello world: 这将返回一个空文件。 问题答案: Python每次之后都不会刷新文件。您要么需要使用以下命令手动刷新它: 或自己关闭它: 在实际程序中使用文件时,建议使用: 这样可以确保即使抛出异常也将关闭文件。但是,如果您想在REPL中工作,则可能要坚持手动关闭它,因为它会在尝试执行之前尝试读取全部内容。

  • 是否可以使用BufferedReader从文本文件中读取,然后当缓冲读取器读取时,同时它还使用PrintWriter将读取的行存储到另一个txt文件中?

  • 问题内容: 我目前正在阅读“用困难的方式学习Python”,已经读到了第16章。 写入文件后,似乎无法打印文件的内容。它只是不打印任何内容。 问题答案: 你不调用函数和,而不是你只是得到他们的 指点 。由于它们是函数(或更准确地说,是方法),因此您需要在函数名称后调用它:。 那就是问题所在; 您以写入模式打开文件,该模式将删除文件的所有内容。您写入了文件,但从未关闭它,因此更改从未提交,文件保持为

  • 问题内容: 我正在使用python 3.5和flask 0.10.1并喜欢它,但是send_file有点麻烦。我最终想处理一个pandas数据框(来自Form数据,在本示例中未使用,但将来需要使用),并将其发送为csv格式下载(没有临时文件)。我所看到的实现此目标的最佳方法是给我们StringIO。 这是我尝试使用的代码: 使用正确的名称下载文件,但是该文件完全空白。 有任何想法吗?编码有问题吗?

  • 我有以下节点。JS(使用Express运行)代码: 该路由用作对Spotify Web API的请求的回调,因此我可以获得访问令牌。 Spotify然后重定向到上面的回调函数,您可以通过查看“redirect_URI”在URI中看到它。 如果需要有关Spotify授权流的更多信息,请参见此处。 这是我用来向Spotify验证我的应用程序的URI。 https://accounts.spotify.

  • 问题内容: 我正在尝试写入CSV文件,但两者之间有空白行。如何删除空白行? 问题答案: 您使用的方式在几个方面在Python3改变模块(文档),至少相对于您需要打开该文件如何。无论如何,类似 应该管用。