【问题标题】:Remove blank lines that appear when writing to file (Java)删除写入文件时出现的空行(Java)
【发布时间】:2010-10-12 20:01:56
【问题描述】:

我创建了一个程序,它获取一个包含 3 个字母单词的文本文件并对其进行处理,将它们存储在一个数组中,然后输出到 JCreator 中的构建输出,然后将相同的输出写入文件。

现在,这个程序运行良好,但是当我打印大量数据时 - 我将所有这些空白行都插入到不应该有的地方。

我用它来打印到我的文件:

PrintWriter fw = new PrintWriter(new FileWriter("Dictionary.txt")); 

   for (int i=0; i<count; i++)
   {
       if (words[i]!=null)
           fw.println(words[i]);
   }

我循环遍历数组,不打印到文件,只是打印到 IDE 上的输出屏幕。现在,我会突然在不应该出现的地方出现一个空白行,就像这样:

啧啧
晚礼服

尤克
使用

而且它似乎是完全随机的。

现在我如何从文件中删除这些行而不必写入新文件,因为写入大量行似乎会导致此问题。

谢谢大家

【问题讨论】:

  • 可能有些字实际上是空的?你检查过words[i].length() == 0吗?
  • 另一个线程正在打印别的东西?
  • 单词不是空的,因为我正在打印一个数组,空值会在行上打印“null”。

标签: java arrays file println


【解决方案1】:

做一个小改动:

if (words[i]!=null && words[i].trim().length() != 0)
       fw.println(words[i]);

基本上,您想检查该行是否为空白,然后跳过打印。

【讨论】:

  • 从字典中删除空行似乎确实是个好举措:)
  • 我也是这么想的,不过是随机的所以好像不是这样的。
  • @Colin,我猜它实际上并不是随机的。
  • 嗨,贾斯汀,它成功了。空行已被删除。谢谢你。顺便说一句,它是 .length(),我的 IDE 向我吐了口水……
  • @Strate,很高兴我能帮上忙。感谢您指出我的错字!
【解决方案2】:

如果是完全随机的,那么你应该尝试写入一个文件并检查这个文件。并不是说我不信任您的 IDE 提供的控制台。

【讨论】:

  • 我写入文件,到控制台的输出和文件一模一样。
猜你喜欢
  • 1970-01-01
  • 2012-02-28
  • 2012-03-08
  • 2014-10-28
  • 1970-01-01
  • 1970-01-01
  • 2020-10-06
  • 2013-06-13
  • 2011-09-20
相关资源
最近更新 更多