`

FileChannel结合BufferedReader的readLine实现大文件快速定位

阅读更多

 

nio的这段代码,应该属于j2se基础

 

                File f = new File(file);
		FileInputStream in = new FileInputStream(f);
		FileChannel channel = in.getChannel();

		channel.position(2342198 - 1125); //要定位的位置

                System.out.println(channel.position());
		Channels.newReader(channel, "utf-8");
		BufferedReader reader=new BufferedReader(Channels.newReader(channel, "UTF-8"));
		
		String line;
		while ((line = reader.readLine()) != null) {
			System.out.println(line);
			System.out.println(channel.position());
		}
		reader.close();

根据不同的字符集设置
//Channels.newReader(channel, "ISO-8859-1");
分享到:
评论

相关推荐

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

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

    有效率的读取大文件(2G)

    在处理大数据时,高效地...总之,有效率地读取大文件需要结合适当的数据处理策略,如缓冲区管理、分块读取、利用NIO、多线程以及选择合适的工具和框架。在实际应用中,应根据具体场景和资源限制来选择最合适的方案。

    读大文件Java

    `FileChannel`可以用来读写大文件,配合`MappedByteBuffer`实现内存映射文件,性能更优。 ```java FileChannel fc = FileChannel.open(Paths.get("largefile.txt"), StandardOpenOption.READ); MappedByteBuffer ...

    java读取超大文本文件

    在处理大数据量的文本文件时,Java 提供了多种方式来实现高效、低内存占用的文件读取操作。本文将围绕标题“java读取超大文本文件”及其相关描述和部分代码片段进行深入解析,探讨如何有效地读取大型文本文件。 ###...

    java应用程序,实现对文件的读写功能—大同小异

    通常会结合BufferedReader提高读取效率,通过`readLine()`方法逐行读取文本文件。 - **DataInputStream**:如果需要读取二进制数据,如int、float等,可以使用DataInputStream。 3. **文件写入**: - **...

    FileRW.rar_文件读取

    `FileRW.rar`这个压缩包可能包含了实现文件读取功能的源代码,它可以帮助我们理解如何在Java环境中处理文件输入输出操作。文件读取是应用程序与本地文件系统交互的重要部分,无论是简单的文本文件还是复杂的二进制...

    java文件读取方法.doc

    同时,Java NIO(非阻塞I/O)库提供了`FileChannel`和`ByteBuffer`等类,它们能更高效地处理大文件读取。 在进行文件读取时,需要注意错误处理,如在给定的代码中,使用了`try-catch-finally`块确保资源的正确关闭...

    读取文件并显示进度.rar

    在Java中,我们可以使用`java.nio`包中的`FileChannel`和`BufferedReader`进行大文件读取,并结合`Swing`库创建一个进度条组件来实时更新进度。在JavaScript中,`FileReader` API可以用来读取文件,而`setInterval`...

    【Java代码-A002】- 文件

    3. **NIO复制**:Java NIO(New IO)提供了一种新的方式来处理I/O,`java.nio.channels`包下的`FileChannel`可以实现高效的大文件复制。`FileChannel.transferTo()`和`transferFrom()`方法允许直接在通道间传输数据...

    java处理各种文件代码

    5. **FileChannel**:`java.nio.channels.FileChannel`接口提供了一种更高效的方式处理文件,支持大块数据的传输和内存映射。`transferTo()`和`transferFrom()`方法可以实现文件间的高效复制。 6. **NIO (New Input...

    java 读取文件方法的总结

    Java 读取文件的方法在Java编程中至关重要,无论是处理文本文件、二进制文件还是其他类型的数据,都需要灵活运用各种读取方式。以下是对Java读取文件的五种方法的详细说明,每种方法都有相应的代码示例: 1. **按...

    关于文件的读写各种方法

    在这个例子中,服务器接收客户端的连接,然后从`SocketChannel`读取数据并写入到`FileChannel`,实现文件的上传。 理解并熟练掌握文件读写和传输方法,是每个Java开发者的基础。通过不断实践,你可以更加灵活地处理...

    文件操作

    这里我们将深入探讨“文件操作”这一主题,结合“源码”和“工具”的标签,以及提供的JAVA问题定位技术.ppt资源,我们将围绕Java编程语言中的文件操作技术进行详细的阐述。 1. **Java I/O流**:Java的核心库提供了...

    Android 读写文件实例

    - 对于大文件,考虑使用`FileChannel`进行分块读写。 - 使用`try-with-resources`语句自动管理资源关闭。 以上就是Android平台上的文件读写操作的基本方法和注意事项。通过了解这些知识,开发者可以有效地在Android...

    在Java里处理文件的技巧Java开发Java经验技巧共5

    例如,使用`BufferedReader.readLine()`逐行读取文件,`PrintWriter.println()`则方便地打印一行内容。 4. **FileInputStream和FileOutputStream**:这是处理二进制文件的基本类,可以用于读取或写入字节。使用`...

    java压缩+解压GZ(Linux)文件.rar

    此外,对于大型文件或者需要流式处理的情况,Java的NIO.2(New IO)API提供了FileChannel和MappedByteBuffer等工具,它们能更高效地处理大文件的压缩和解压缩。 总的来说,处理GZ文件需要理解Java的I/O流和压缩库,...

    Java语言存取文本文件的研究.zip

    BufferedReader和BufferedWriter可以显著提高读写性能,因为它们会一次性处理较大的数据块,而不是每次只处理一个字符或一行。 7. 文件路径处理: 在处理跨平台文件路径时,推荐使用Path类和Paths.get()方法,它们...

    Java IO 基础操作(文件读写和移动)

    `java.nio`包下的`FileChannel`和`Files`类提供了更高级的文件操作,如映射内存到文件(MMap),以及异步文件操作。 例如,使用`Files`类移动文件: ```java Path sourcePath = Paths.get("sourceFile.txt"); Path...

    java 显示文件中的内容

    对于更复杂的文件操作,如处理大文件或实现流式读取,可以使用`InputStream`和`OutputStream`。例如,`FileInputStream`和`FileOutputStream`分别用于读写文件,而`BufferedInputStream`和`BufferedOutputStream`则...

    android 内存 文件读写操作

    5. **文件操作注意事项**:为了保证文件操作的原子性,避免数据丢失,建议使用`FileChannel`的`transferFrom()`和`transferTo()`方法,或者使用`RandomAccessFile`进行大文件的读写。 四、SaveRead文件示例 在给定...

Global site tag (gtag.js) - Google Analytics