【问题标题】:Remove empty line from my file从我的文件中删除空行
【发布时间】:2015-12-12 18:12:51
【问题描述】:

我需要从我的文件中删除空行。我正在使用字符串生成器。

这就是输出的方式

1619023|crecxcationCAF|01/01/1901
1619023|flagccxxOLP|faux
1619023|topElcdcssigibleCB|faux

1619022|csSeuidslScodssdsdreFicPPProspect|1000
1619022|csEndesdsdsddttementMax4|60
1619022|csTresoCliPlus6mSeuil3|300

预期输出是

1619023|creationCAF|01/01/1901
1619023|flagOLP|faux
1619023|topEligibleCB|faux
1619022|csSeuilScoreFicPPProspect|1000
1619022|csEndettementMax4|60
1619022|csTresoCliPlus6mSeuil3|300

【问题讨论】:

  • 好的,你已经有了。有什么问题吗?
  • 使用if (!line.isEmpty()){//add it to the StringBuilder},然后,只打开一个FileOutputStream并将内容写入其中。
  • @redxef - if (! (line==null || line.isEmpty())

标签: java string stringbuilder


【解决方案1】:

好的,您只需使用BufferedReader 读取文件并读取行,然后当您在StringBuilder 中追加行时,只需检查行是否为空,如下所示:

StringBuilder fileTextBuilder = new StringBuilder();

String line = ""; //read line here using while loop from BufferedReader 

//when append the string just check following condition
if (line != null && !line.trim().isEmpty()) {
    fileTextBuilder.append(line);
}

【讨论】:

    【解决方案2】:

    你可以这样试试:

    String str = yourtext.replaceAll("(?m)^\s+$", "");
    

    另一种方法是检查

    if (readLine.isEmpty() || readLine.trim().equals("\n") || readLine.trim().equals(""))
     continue;
    

    【讨论】:

    • 我不确定"\n" 部分。根据操作系统,我们可以使用 CR、LF 或 CR+LF 作为换行符
    • 我会使用System.getProperty("line.seperator") 而不是"\n"
    • @redxef 我更喜欢System.lineSeparator()
    • 幸好我现在知道了。
    猜你喜欢
    • 2012-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 2013-01-12
    相关资源
    最近更新 更多