`
hejiajunsh
  • 浏览: 407263 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Java读取超大文本文件

阅读更多

方法1:使用BufferedReader类读写超大文件

		File file = new File("E:\\workspace(javaEE)\\StatisticsVisitor\\log\\tte\\2014\\03\\2014-03-26.log");
		BufferedInputStream fis = new BufferedInputStream(new FileInputStream(file));
		BufferedReader reader = new BufferedReader(new InputStreamReader(fis,"utf-8"),1024);// 用1KB的缓冲读取文本文件
		String line = "";
		while((line = reader.readLine()) != null){
			System.out.println(line);
		}
		reader.close();
		fis.close();

 

方法2:使用RandomAccessFile类读取

  public static void main(String[] args) throws Exception {
    int bufSize = 1024;
    byte[] bs = new byte[bufSize];
    // 这里是分配缓存大小。也就是用来存放从硬盘中度出来的文件
    // 什么叫一次把文件读出来?其实就是当缓存大小和在硬盘中文件大小一样,
    // 只通过一个read指令把整个文件都扔到缓存里面。例如要一次读一个2G的文件,把缓存设为2G就能一次读出来。
    // 不过当分配空间的时候,这个缓存根本是分配不出来的,因为内存不足。
    ByteBuffer byteBuf = ByteBuffer.allocate(bufSize);
    FileChannel channel = new RandomAccessFile("E:\\workspace(javaEE)\\StatisticsVisitor\\log\\tte\\2014\\03\\2014-03-26.log","r").getChannel();
    int size;
    // 因为这里缓存大小是1K,所以每个channel.read()指令最多只会读到文件的1K的内容。
    // 如果文件有1M大小,这里for会循环1024次,把文件分开1024次读取出来
    while((size = channel.read(byteBuf)) != -1) {
      byteBuf.rewind();
      byteBuf.get(bs);
      // 把文件当字符串处理,打印。
      System.out.print(new String(bs, 0, size));
      byteBuf.clear();
    }
    channel.close();
  }

 

分享到:
评论

相关推荐

    java读取超大文本文件

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

    Java 读写文件文本文件的示例

    Java中读写文本文件主要依赖于`InputStream`和`OutputStream`的使用,结合`Reader`和`Writer`接口的实现类如`BufferedReader`和`PrintWriter`,可以高效地完成文件的读取和写入操作。掌握这些核心类的使用是进行文件...

    Java读取TXT文本文件乱码解决方案.doc

    "Java读取TXT文本文件乱码解决方案" Java 读取 TXT 文本文件乱码解决方案中,主要讨论的是在 Java 中读取 TXT 文本文件时出现乱码的问题,并提供了解决方案。 首先,文章中提供了一个简单的读取 TXT 文件的代码,...

    java 将文件中二进制文件转换成文本文本文件并输出

    这个程序会读取名为"binary_file.bin"的二进制文件,将其中的每个字节转换为ASCII字符,并将结果写入"test_file.txt"文本文件。请注意,如果二进制文件包含非ASCII字符,转换可能会导致乱码或不可读的文本。 在实际...

    Java解析FTP服务器文本文件

    Java解析FTP服务器文本文件 Java解析FTP服务器文本文件是指使用Java语言连接FTP服务器,上传、下载、递归目录遍历等基本操作的集合。在这个过程中,我们需要引入相关的jar包,例如cpdetector.jar、jchardet-1.0.jar...

    JAVA简单的读写文本文件的代码

    通过上述四个主要部分的分析,我们可以看到Java语言在处理文件读写方面提供了丰富的API支持。使用合适的类库可以极大地简化开发工作并提高程序的性能。例如,使用`StringBuffer`可以有效地处理字符串的动态增长;而`...

    java读取文本文件

    下面将详细讲解如何使用Java读取文本文件,包括多种常用的方法和注意事项。 1. 使用`BufferedReader` `BufferedReader`类是Java中用于读取字符流的常用工具,它通过内部缓冲区提高读取效率。以下是一个简单的使用...

    java如何读取文件

    本文将详细解析如何使用Java读取文本文件,基于提供的代码示例,深入探讨其工作原理及最佳实践。 ### Java读取文本文件的基础 在Java中,读取文件主要依赖于`java.io`包中的类,如`FileReader`和`BufferedReader`...

    简单的用java实现读写文本文件的示例.doc

    2. 将内容中的文本写到文件 3. 将一个文件的内容读出来写入另一个文件中 同时也展示了如果从输入流中读出来内容写入输出流中(仅限文本流) 三个例子可以独立存在,所以根据需要只看其中一个就行了

    Java多线程读取大文本文件并批量插入MongoDB的实战代码

    Java多线程读取大文本文件并批量插入MongoDB的代码,文本文件,csv文件,可以结合POI改造使其支持excel。 适合做大量文本数据或日志文件入库的场景,大文本被拆分成多个线程处理,速度快。 批量插入MongoDB,存在则...

    java文本读取方法

    本文介绍了Java中常用的四种文本文件读取方法:按字节读取、按字符读取、按行读取以及随机读取。每种方法都有其适用场景和特点,开发者可以根据实际需求选择合适的方式来处理文本文件。此外,还特别注意了异常处理和...

    java读取文件方法大全

    ### Java读取文件方法大全:读取File流等技术 在Java中,读取文件是一项基本且重要的操作,它可以通过多种方式实现,如字节流、字符流和基于行的读取。下面将详细介绍这些方法: #### 字节级读取:`...

    java读写csv文件,中文乱码问题

    2. **Java读取CSV文件**: - 使用`BufferedReader`和`InputStreamReader`组合,可以指定字符编码读取文件。例如: ```java FileInputStream fis = new FileInputStream("path_to_file.csv"); InputStreamReader ...

    java 按顺序读取文件

    至于`Java.jpg`文件,它通常表示一个图片文件,而不是文本文件。如果需要读取图片数据,可以使用`ImageIO`类或其他图像处理库,但这超出了“按顺序读取文件”的范畴,因为图片数据通常是二进制格式,而非文本。 ...

    Java读写文本文件的示例代码.rar

    在Java编程语言中,读写文本文件是常见的操作,这对于数据存储、日志记录或配置文件处理至关重要。这个压缩包“Java读写文本文件的示例代码.rar”包含了一些示例代码,帮助开发者理解如何在Java中实现这些功能。下面...

    Java读写.txt文件

    在Java编程中,读写文本文件(如`.txt`文件)是常见的操作,尤其是在处理配置文件时。配置文件通常以键值对(key-value pairs)的形式存储数据,便于程序访问和管理设置。以下是对这个主题的详细阐述: 1. **Java I...

    java 读取文件 文件读取操作

    在Java编程语言中,文件读取是常见的任务,...处理文本文件时,按字符或按行读取更合适。如果需要高效地访问文件的特定部分,随机读取则必不可少。理解这些基本概念可以帮助你编写出更加高效和灵活的Java文件操作程序。

    java把文本文件内容导入到数据库

    在这个场景下,"java把文本文件内容导入到数据库"是一个典型的应用,它涉及到文本解析、数据库连接以及数据持久化等关键知识点。 首先,我们需要理解文本文件的格式。描述中提到文件内容的字段由“,”分隔,这种...

    Java读取文本文件内容

    Java读取文本文件内容Demo; 主要代码: char charArr[]=new char[1024]; //创建可容纳 1024 个字符的数组 FileReader b=new FileReader("D:\\temp\\test.txt"); int iNum=b.read(charArr); //将数据读入到数组 a ...

Global site tag (gtag.js) - Google Analytics