java行数_计算Java字符串中的行数,一个String字符串的行数有多少的方法。读取txt文件中的字符串有多少行。

计算Java字符串中的行数

需要一些紧凑的代码来计算Java中字符串的行数。 该字符串将由\r或\n分隔。这些换行符的每个实例都将被视为单独的行。 例如 -

"Hello\nWorld\nThis\nIs\t"

第一个方法:

private static int countLines(String str){

    String[] lines = str.split("\r\n|\r|\n");

    return lines.length;

}

第二个方法:

String yourInput = "...";

Matcher m = Pattern.compile("\r\n|\r|\n").matcher(yourInput);

int lines = 1;

while (m.find())

{

    lines ++;

}

这样,您无需将String拆分为许多新的String对象,这些对象稍后将由垃圾收集器清理。 (使用String.split(String);时会发生这种情况)。
 

第三个方法:

public static int countLines(String str) {

    if(str == null || str.isEmpty())

    {

        return 0;

    }

    int lines = 1;

    int pos = 0;

    while ((pos = str.indexOf("\n", pos) + 1) != 0) {

        lines++;

    }

    return lines;

}

一个不创建String对象,数组或其他(复杂)对象的非常简单的解决方案,请注意,如果使用其他EOL终止符,则需要稍微修改此示例。

第四个方法:

import org.apache.commons.io.FileUtils;

int getNumLinesInFile(File file) {

    String content = FileUtils.readFileToString(file);

    return content.split(System.getProperty("line.separator")).length;

}

此方法是万一您需要从文件中读取内容(我知道您说过没有,但这仅供以后参考),我建议使用Apache Commons将文件内容读取为字符串。 这是一个很棒的库,还有许多其他有用的方法。 这是一个简单的例子。

第五个方法:

public static int countLines(String input) throws IOException {

    LineNumberReader lineNumberReader = new LineNumberReader(new StringReader(input));

    lineNumberReader.skip(Long.MAX_VALUE);

    return lineNumberReader.getLineNumber();

}

LineNumberReader位于java.io软件包中:[https://docs.oracle.com/javase/7/docs/api/java/io/LineNumberReader.html]

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值