当前位置: 首页 > 面试题库 >

Java中用于简单文件(行数)功能的API

公瑞
2023-03-14
问题内容

嗨:给定一个任意文件(html" target="_blank">java),我想计算行数。

这很容易,例如,使用Apache的FileUtils.readLines(…)方法…

但是,对于大文件,就地读取整个文件是很荒谬的(即,仅用于计数行)。

一个本地选择:创建BufferedReader或使用FileUtils.lineIterator函数,并计算行数。

但是, 我假设可能有一个(低内存),最新的API,可以用最少的Java样板进行简单的大文件操作,—是否存在任何这样的库或功能?
Google,Apache等…开源Java实用程序库?


问题答案:

Java 8简短方法:

 Files.lines(Paths.get(fileName)).count();

但是大多数内存效率:

try(InputStream in = new BufferedInputStream(new FileInputStream(name))){
    byte[] buf = new byte[4096 * 16];
    int c;
    int lineCount = 0;
    while ((c = in.read(buf)) > 0) {
       for (int i = 0; i < c; i++) {
           if (buf[i] == '\n') lineCount++;
       }
    }
}

您根本不需要在此任务中使用String对象。



 类似资料:
  • 本文向大家介绍java实现简单解析XML文件功能示例,包括了java实现简单解析XML文件功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java实现简单解析XML文件功能。分享给大家供大家参考,具体如下: xml文件user.xml的内容: 运行结果: PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用: 在线XML/JSON互相转换工具: http://tools

  • 本文向大家介绍简单实现js上传文件功能,包括了简单实现js上传文件功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js实现上传文件功能的具体代码,供大家参考,具体内容如下 一、用input完成上传,效果图如        选择文件后,提交后出现图片url 二、传输格式采用form-data形式。 html代码  js部分 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大

  • 本文向大家介绍struts2实现简单文件下载功能,包括了struts2实现简单文件下载功能的使用技巧和注意事项,需要的朋友参考一下 Struts2提供了stream结果类型,该结果类型是专门用于支持文件下载功能的。配置stream类型的结果需要指定以下4个属性。   contentType:指定被下载文件的文件类型   inputName:指定被下载文件的入口输入流   contentDispos

  • 本文向大家介绍Servlet实现简单文件上传功能,包括了Servlet实现简单文件上传功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Servlet文件上传的具体代码,供大家参考,具体内容如下 两点要素: 1.表单提交方式必须是post 2.enctype一定要是multipart/form-data。 enctype的默认值是application/x-www-form-url

  • 本文向大家介绍使用nodejs+express实现简单的文件上传功能,包括了使用nodejs+express实现简单的文件上传功能的使用技巧和注意事项,需要的朋友参考一下 1.建立express项目 2.下载multer中间件 3.在routes/index.js中引用multer,由于还要使用到文件操作,还要引用fs模块,并指定文件上传目录 单文件上传: index.html中文件如下( for

  • 本文向大家介绍Java实现的简单数字时钟功能示例,包括了Java实现的简单数字时钟功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java实现的简单数字时钟功能。分享给大家供大家参考,具体如下: 应用名称:Java数字时钟 用到的知识:Java GUI编程,线程 开发环境:win8+eclipse+jdk1.8 功能说明:可以显示当前系统的年月日、星期以及准确时间,并实时更新显示。