java代码如何读取大文件呢?

书欣 Java经验 发布时间:2022-09-20 23:36:14 阅读数:18210 1
下文笔者讲述使用java代码读取大文件的方法分享,如下所示

今天接到一个需求,需对上百G的日志文件进行分析
那么这么大的日志文件,肯定不可以全部读取到内存中
那么我们是否可以一行一行的扫描呢?下文笔者将一一道来,如下所示

实现思路:
     方式1:
	    使用java.util.Scanner类扫描文件的内容
        对文件内容进行一行一行连续地读取
	    这种方式,就可减少内存的使用
      方式2:
	     借助Apache Commons IO组件
		 使用LineIterator it = FileUtils.lineIterator(theFile, "UTF-8");
		 也可以达到一行一行的读取文件的效果
例:
    private  void readBigFile(String fileName) {
        try {
            System.out.println("开始读取并分析文件"+fileName);
            File file = new File(fileName);
            // System.out.println(file.getAbsolutePath());
            Scanner sc = new Scanner(file);
            while (sc.hasNext()) {
                String json = sc.nextLine();
                //将单行解析成实体
                logEntity log= jieXiJson(json);
                //分析每行的日志
                addJSONInfo(log);

            }
            System.out.println("读取并分析文件"+fileName+"结束");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202209/16636882144477.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者