【问题标题】:Puzzle with FileWriter in GroovyGroovy 中的 FileWriter 拼图
【发布时间】:2013-12-17 11:35:03
【问题描述】:

我有这样的 Groovy 代码...

class GuiWindow extends SwingBuilder {

....
FileWriter writer

    GuiWindow(def controller)
{
    ....
    writer = new FileWriter("DATA${new Date().time.toString()}.txt")
    writer.write("Count, Rate\n")

这段代码成功地创建了文件,但似乎拒绝向其中写入任何内容——甚至没有立即下一条语句中的文本标题行。

我之前使用过非常相似的代码,没有任何问题,所以有点不知所措。

我不 close() 编写器 - 它旨在记录缓慢传入的数据 - 所以我能想到的一件事是写入是批处理的,并且仅在缓冲区溢出时写入 - 但是谁能告诉我我的代码有什么问题或者为什么它的行为不像我期望的那样?

【问题讨论】:

  • 我假设您已经尝试在写入后添加 writer.flush() 以表明您可能对缓冲是正确的
  • 你不喜欢 Groovy 运算符 << ;) 试试看:def out= new File('text_from_groovy.txt'); out.createNewFile(); out << 'your text';
  • @olyv 每次都会打开一个作家追加并关闭它,如果你经常这样做会变得很昂贵

标签: java groovy io filewriter


【解决方案1】:

就像上面提到的 tim_yates 一样,flush 解决了我的问题。

FileWriter writer = new FileWriter("DATA${new Date().time.toString()}.txt")
writer.write("Count, Rate\n")
writer.flush()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    • 2011-10-16
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多