`
zhaoshunxin
  • 浏览: 29940 次
  • 来自: 济南
社区版块
存档分类
最新评论

JAVA读取文件对比

    博客分类:
  • JAVA
 
阅读更多

package filecollector;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.RandomAccessFile;
import java.util.Stack;

public class FileRead {
 public static void main(String[] args) {
  bufReader();
  randomReader();
 }
 public static void bufReader(){
  File file= new File("e:/test.txt");
  Stack st = new Stack();
  long currpos=0;
  long startTime=System.currentTimeMillis();
  try {
    FileReader fileReader = new FileReader(file);
    BufferedReader read = new BufferedReader(fileReader);
    String line = null;  
    while ((line = read.readLine()) != null) {     
      if(line.startsWith("IE6")){
       st.push(currpos);
      }
      currpos+=(line.length()+2);
     }
    if(st.size()>20000){
     currpos=Long.valueOf(st.get(st.size()-20).toString());
    }else{
     currpos=0;
    }
   } catch (Exception e) {
    e.printStackTrace();
   }
  System.out.println(currpos);
  FileReader fileReader;
  try {
   fileReader = new FileReader(file);
   BufferedReader read = new BufferedReader(fileReader);
   read.skip(currpos);
   System.out.println(read.readLine());
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  System.out.println(System.currentTimeMillis()-startTime);
 }
 public static void randomReader(){
  File file= new File("e:/test.txt");
  long startTime=System.currentTimeMillis();
  int count=0;
  String line=null;
  try {
    RandomAccessFile randomReader = new RandomAccessFile(file, "r");
    long filelen=randomReader.length()-1;
    while(filelen>0&&count<20000){
      randomReader.seek(filelen);
      char c=(char)randomReader.read();
      if(c =='\r'||c =='\n'){
       line = randomReader.readLine();
       if(line!=null&&line.startsWith("IE6")){
        count++;
       }
      }
      filelen--;
    }
    System.out.println(filelen);
    System.out.println(line);
   } catch (Exception e) {
    e.printStackTrace();
   }
  System.out.println(System.currentTimeMillis()-startTime);
 }
 }

如果遇到随机读取文件,使用时最好先比较一下计算时间

分享到:
评论

相关推荐

    详解Java无需解压直接读取Zip文件和文件内容

    "Java读取Zip文件和文件内容" Java无需解压直接读取Zip文件和文件内容是Java语言中的一种常见操作,通过使用java.util.zip包中的ZipFile、ZipInputStream和ZipEntry类,我们可以轻松地读取Zip文件和文件内容。下面...

    java比较文件_读取输出文件_正则表达式匹配

    1.java读取文件,输出文件 2.java正则表达式匹配* 2个文件内容是:中文 英文,然后分别比较中文部分和英文部分,文件内容如下: 520香烟 520cigarette 678月 678yue A-zone A-zone A.O.史密斯 AOsms ACE床垫 ACE ...

    Java读写xml,word,xml文件(防乱码)

    不同的操作系统、软件可能使用不同的默认编码格式,这就会导致在跨平台或跨软件间读写文件时出现乱码问题。因此,在处理文件时,明确指定文件的编码格式是十分重要的。 #### 三、Java读取XML文件 对于XML文件的读取...

    java读取文件内容

    在Java中,文件读取是通过`java.io`包中的类来实现的。本例中用到了`BufferedReader`和`FileReader`。 - **BufferedReader**:提供了一个方便的接口用于读取文本文件中的字符数据。它具有从输入流中读取文本的功能...

    Java CSV文件读取

    Java读取excel,Excel是我们平时工作中比较常用的用于存储二维表数据的,JAVA也可以直接对Excel进行操作。

    Java读写文件API的用法指南,性能分析与对比。

    - **FileInputStream** 和 **FileOutputStream** 是字节流的子类,专门用于读写文件。它们提供读取和写入文件的基本功能。 4. **字符流**: - **Reader** 和 **Writer** 是字符流的基类,处理字符数据。 - **...

    Java读取文件并对其排序后重新写入文件

    在Java编程中,读取文件、对数据进行排序并重新写入文件是常见的操作,尤其在数据处理和分析场景中。下面将详细讲解这个过程,包括相关知识点和具体实现。 首先,我们需要导入Java的`java.io`包,该包包含了处理...

    java多线程读取文件

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

    java 删除某行和读写txt文件

    ### Java删除某行和读写TXT文件 在Java中,如果需要从文本文件中删除特定行,实际上并没有直接提供这样的方法。通常的做法是先将文件中的所有内容读取到内存中,然后根据需要过滤掉不需要的行,最后再将处理后的...

    Java 中对文件的读写操作之比较

    本文将重点探讨Java在不同版本中所提供的文件读写方式,并对其进行对比分析。 #### 一、JDK 1.0 中的文件读写操作 在JDK 1.0 中,主要依赖于`InputStream`和`OutputStream`两个基类来实现文件的读写功能。 1. **读...

    java通过文件头内容判断文件类型

    总的来说,通过Java读取文件头内容判断文件类型是一种实用的技术,尤其在处理未知或不安全的文件时。理解并掌握这个方法,能够帮助我们在实际开发中更好地处理各种文件操作,提高程序的健壮性和安全性。

    记录一下 Java 代码实现文件夹、文件的对比,主要包含 word、pdf、文本、图片等相关文件的对比计算,以及计算文本的相似率

    通过合理选择和组合这些工具,我们可以构建一个强大的文件对比系统,满足各种需求,包括文档去重、版本差异分析等。对于特定格式的文件(如Word、PDF),需要借助专门的库来解析内容,然后进行对比。最后,将所有...

    JAVA两个文件比较

    通过对比两种方法的实现原理、示例代码以及优缺点,我们可以根据实际需求选择合适的方法来进行文件比较。对于纯文本文件,基于字符串的方法更为简单直观;而对于包含特殊格式或二进制数据的文件,则建议使用基于字节...

    java io读写文件

    ### Java IO读写文件基础 在Java中,进行文件读写的操作通常涉及两个核心包:`java.io` 和 `java.nio`。这里我们主要关注 `java.io` 包,它提供了多种类来处理文件的读写操作,如`FileReader`, `FileWriter`, `...

    java文件路径获取

    ### Java 文件路径获取方法详解 #### 一、引言 在Java开发中,经常会遇到需要获取文件路径的情况,尤其是在处理配置文件、图片等资源时。本文将详细介绍Java中获取文件路径的各种方法及其应用场景,帮助开发者更好...

    使用Java读取XML配置文件

    目前使用 SAX 比较多,与 DOM 主要区别是 SAX 是一行一行读取 XML 文件进行分析,适合比较大文件,DOM 是一次性读入内存,显然不能对付大文件。 下面是一个使用 SAX 解析 XML 配置文件的 Java 程序: ```java ...

    JAVA高效读取大文件[参考].pdf

    同时,文章还将介绍使用 Guava 和 Apache Commons IO 库来读取大文件的不同方法,并对比它们的内存占用情况。 知识点一:在内存中读取文件行的标准方式 * 使用 Guava 和 Apache Commons IO 库提供的方法读取文件行...

    java上传文件jar

    它提供了许多实用工具类,简化了文件读写、流操作、文件比较、文件过滤等任务。例如,`FileUtils`类提供了一系列静态方法,可以方便地进行文件和目录的复制、移动、删除等操作。`IOUtils`类则提供了对流进行读取、...

    java 分割文件 将大文件分割成小文件

    在Java中,我们可以使用`FileInputStream`和`FileOutputStream`类来读取和写入文件。以下是一个简单的示例,展示了如何将文件分割成固定大小的小块: ```java import java.io.*; public class FileSplitter { ...

    Java程序读取服务器端数据文件的解决方法及比较

    ### Java程序读取服务器端数据文件的解决方法及比较 #### 概述 在现代软件开发过程中,尤其是在网络编程领域,Java作为一种强大的编程语言被广泛应用。然而,在开发客户端程序时,经常会遇到Java程序所定义与使用...

Global site tag (gtag.js) - Google Analytics