`
paladin1988
  • 浏览: 329502 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

NIO按行读取文件

 
阅读更多

 

要解析文件入库,通过NIO方式直接读取日志文件一行一行的处理

日志是通过log4j写入的,通过log4j的方法将日志信息写入到文件,每行有一个换行符

 

结论:

 

jdk1.6暂时没有找到合适的方法(只能使用传统方法吧)

jdk1.7可以按行读取文件,jdk1.7的api中有一个Files类可以处理 readAllLines()可以处理

 

参考资料:http://www.kodejava.org/examples/813.html

 

package org.kodejava.example.nio;

import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

public class ReadFileAsListDemo {
    public static void main(String[] args) {
        String fileName = "core-sample/src/main/resources/data.txt";

        try {
            List<String> lines = Files.readAllLines(Paths.get(fileName),
                    Charset.defaultCharset());
            for (String line : lines) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

 

刚才在StackOverFlow中看到一个BT的问题,15G的日志文件。

 

 

分享到:
评论

相关推荐

    JAVA NIO 按行读取大文件,支持 GB级别

    本类,是专门为了处理大文件,按行读取开发的类。 采用读文件的缓存 fbb 1024*5 行缓存 bb 256 字节 设计思想: 每次通过nio读取字节到 fbb中 然后对fbb自己中的内容进行行判断即 10 回车 13 行号 0 文件...

    NIO(byteBuffer)按行读取文件

    使用nio byteBuffer 实现按行读取文件(大文件) 在window/linux/macOS上均测试通过 对于中文乱码也已处理成功 完整注释,可随需求更改 有问题请邮件:mly610865580@126.com

    JAVA NIO 按行读取大文件支持 GB级别-修正版

    本类,是专门为了处理大文件,按行读取开发的类。 采用读文件的缓存 fbb 1024*5 行缓存 bb 256 字节 设计思想: 每次通过nio读取字节到 fbb中 然后对fbb自己中的内容进行行判断即 10 回车 13 行号 0 文件结束 ...

    NIO按行读取数据

    总的来说,上述代码提供了一个自定义的NIO解决方案来按行读取文件,尽管Java NIO本身并不直接支持这个功能。这种实现方式充分利用了NIO的内存映射特性,提高了读取效率,但同时也需要开发者关注潜在的兼容性和资源...

    java nio 包读取超大数据文件

    - **定义文件范围**:通过`begin_fz`、`begin_fm`、`end_fz`、`end_fm`等变量定义了要读取文件的起始位置和结束位置,以便分块读取。 2. **内存映射文件创建** - 使用`new File(fileName)`创建`File`对象。 - `...

    io+nio拷贝及nio按行读取

    使用 io和nio 各个方式进行文件拷贝;...使用nio+byteBuffer 实现按行读取文件(大文件),在window/linux/macOS上均测试通过,对于中文乱码也已处理成功 完整注释,可随需求更改 有问题请邮件:mly610865580@126.com

    java按行读取大文件并解析入库

    为了高效地处理这类问题,我们可以利用Java的`java.nio`包中的BufferedReader和FileChannel等类,实现按行读取大文件,并将其内容解析后存储到数据库中。本文将详细讲解这一过程。 首先,我们需要了解`java.nio`包...

    Java用NIO读取文件示范

    简单的用Java的NIO读取文件的程序,给大家参考。

    NIO_RandomAccessFile_多线程_按行读本地CSV文件(java==> google guava包ListenableFuture)

    NIO_RandomAccessFile_多线程读本地CSV文件(java==&gt; google guava包ListenableFuture) reader里有个main函数,更改文件路径后,直接运行即可

    基于nio实现的多文件上传源码

    4. **非阻塞读取**:服务器端使用Selector监听读事件,当有数据可读时,读取ByteBuffer数据并保存到临时文件或直接写入目标位置。 5. **文件合并**:当所有文件块都接收完毕,服务器端根据接收到的文件名信息,将...

    java nio 读文件

    二、使用Java NIO读取文件 在Java NIO中,读取文件主要涉及FileChannel和ByteBuffer。以下是一个简单的示例: ```java import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels....

    NIO处理大文件

    首先,创建FileChannel,然后分配合适的缓冲区大小,通过通道读取文件到缓冲区,处理完缓冲区内的数据后再写入另一个文件或网络。利用选择器可以同时处理多个文件,实现并行操作,进一步提升效率。 7. 示例代码: ...

    java多线程读取文件

    Java多线程读大文件 java多线程写文件:多线程往队列中写入数据

    java nio 写文件

    在Java NIO中,数据的读取和写入都是通过通道(Channel)进行的。通道可以理解为连接到I/O设备的桥梁,例如文件、网络套接字等。要使用NIO写文件,首先需要获取FileChannel对象,这可以通过`FileOutputStream`的`...

    java NIO 写文件

    在这个主题中,我们将深入探讨Java NIO如何用于写文件,特别是在处理大数据文件时如何提高性能。 首先,理解Java NIO的基本概念非常重要。NIO中的“N”代表“非阻塞”,这意味着在进行I/O操作时,程序可以继续执行...

    JDK1.7 之java.nio.file.Files 读取文件仅需一行代码实现

    JDK1.7 之 java.nio.file.Files 读取文件仅需一行代码实现 java.nio.file.Files 类是 JDK1.7 中引入的新的文件操作类,该类包含了许多有用的方法来操作文件。其中,Files.readAllBytes(Path) 方法可以将整个文件...

    多线程读取DBF文件

    本篇文章将聚焦于如何使用Java的NIO(New Input/Output)包中的RandomAccessFile类来实现多线程读取DBF文件,这在处理大型文件时能显著提升效率。 1. **Java NIO介绍** Java NIO是一个非阻塞I/O模型,提供了与标准...

    java 读取文件方法的总结

    Java中的`BufferedReader`类提供了按行读取文件内容的能力,这对于处理文本文件非常有用。例如: ```java BufferedReader br = new BufferedReader(new FileReader(fileName)); String line; while ((line = br...

    Java读取大文件的处理

    2. 使用ProgressMonitorInputStream读取文件:我们使用了ProgressMonitorInputStream来读取大文件,这样可以监控文件的读取进度。 3. 使用多线程技术:我们使用了多线程技术来读取大文件,以提高响应速度。当按钮被...

    JAVA NIO 简单PFT 文件服务

    文件下载服务则相反,服务器使用FileChannel读取文件内容,然后通过Socket发送给客户端,客户端接收数据并写入本地文件系统。 文件列表展示服务可能涉及到目录遍历和文件信息的获取。在Java中,可以使用java.nio....

Global site tag (gtag.js) - Google Analytics