Java NIO Files count()方法,用于计算行数

时间:2018-08-01 17:56:53

标签: java file-io inputstream nio

我正在使用以下代码来计算文件中的行数。

-u

根据上述输出,如果行数为1,则记录long numberOfLines = Files.lines(filePath).count(); (从行的最后一个字符中提取)应替换为delimiter。分隔符被替换掉很好,但是当我在执行此操作后尝试删除此文件时,它不起作用。

<delimiter>\n

文件所在的文件系统与删除操作之前的文件大小相同。我试图打开此文件,它显示出“访问被拒绝”错误。

我用自定义的java方法替换了if (numberOfLines == 1) { String rawData = (new String(Files.readAllBytes(filePath))).trim(); String toReplace = rawData.substring(rawData.length() - 1); String outString = rawData.replaceAll(toReplace, toReplace + "\n"); Files.delete(filePath); } ,以使用InputStream计算行数并最后关闭它,并且删除操作正常。

Files.lines(filePath).count();应该如何表现?似乎没有关闭用于访问文件的对象。

1 个答案:

答案 0 :(得分:3)

您可以使用if (sample := sample_map.get('A', None)) is not None: print("A's value in map is {}".format(sample))

try-with-resources

然后您可以继续执行逻辑操作,但是流应该已经关闭。