`

java文本的读写

 
阅读更多
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Collection;
import java.util.Scanner;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.LineIterator;

public class HandleTextFile {

	/**
	 * commons.io
	 * @param path
	 */
	public static void testReadFile(String path) {
        try {
            LineIterator lineIterator = FileUtils.lineIterator(new File(path), "UTF-8");
            while (lineIterator.hasNext()) {
                String line = lineIterator.nextLine();
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
	/**
	  * commons.io
	  */
	public static void writeLines(File file, Collection lines, String lineEnding) throws IOException {
       OutputStream out = null;
       try {
       	out = new FileOutputStream(file) ;
           IOUtils.writeLines(lines, lineEnding, out, "UTF-8");
       } finally {
           IOUtils.closeQuietly(out);
       }
   }
	
	public static void testScannerReadFile(String path) {
        FileInputStream fileInputStream = null;
        Scanner scanner = null;
        try {
            fileInputStream = new FileInputStream(path);
            scanner = new Scanner(fileInputStream, "UTF-8");
            while (scanner.hasNext()) {
                String line = scanner.nextLine();
                System.out.println(line);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            if (fileInputStream != null) {
                try {
                    fileInputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (scanner != null) {
                scanner.close();
            }
        }

    }
	
	public static void write() throws IOException{
		  File file = new File("i:/test/"+File.separator+"hello.txt") ;
		  if(!file.exists()){
			  
			  file.createNewFile() ;
		  }
		  OutputStream out = new FileOutputStream(file) ;
		  byte[] bt = new byte[1024] ;
		  bt = "aa|bb|cc|dd|ee|ff|gg|hh|jj".getBytes() ;
		  for (int j = 0; j < bt.length; j++) {
			  out.write(bt) ;
		}
		  out.close();
		  
	  }
	
	public static void readCache(String path) {
        String filename = path;
        File file = new File(filename);

        BufferedReader reader = null;
        try {
            reader = new BufferedReader(new FileReader(file), 10 * 1024 * 1024);   //读大文件 设置缓存
            String tempString = null;
            while ((tempString = reader.readLine()) != null) {
                System.out.println(tempString);
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

        }
    }
	
	 
	 
	 public static void write2() throws IOException{
			//判断目录是否存在
				File file = new File("i:/test/"+File.separator+"hello.txt");
				if(!file.exists()){
					file.createNewFile() ;
				}
				FileWriter fw = new FileWriter("i:/test/"+File.separator+"hello.txt", false) ;
				
				BufferedWriter bw = new BufferedWriter(fw) ;
				for (int i = 0; i < 1000000; i++) {
					bw.write("aa|bb|cc|dd|ee|ff|gg|hh|jj") ;//文件开始标识 长度20,左对齐,右补空格
					bw.newLine();
				}
				bw.flush() ; //将数据更新至文件
				bw.close() ;
				fw.close() ;
			  
		  }
	  
	 
	
	public static void main(String[] args) {
		String path = "i:/test/"+File.separator+"hello.txt" ;
		long b1 = System.currentTimeMillis() ;
		testReadFile(path) ;
		long e1 = System.currentTimeMillis() ;
		long b2 = System.currentTimeMillis() ;
		testScannerReadFile(path) ;
		long e2 = System.currentTimeMillis() ;
		long b3 = System.currentTimeMillis() ;
		readCache(path) ;
		long e3 = System.currentTimeMillis() ;
		System.out.println("|"+(b1-e1)+"|"+(b2-e2)+"|"+(b3-e3)+"|");
	}
}

 

 22301|22814|-22760

 

分享到:
评论

相关推荐

    Java 文本读写与字符串查找统计

    Java 文本读写与字符串查找统计源程序 实现在文本中查找指定字符并统计出现次数

    一个java文本文件读写类

    这里我们关注的是一个名为"TextFile"的Java类,它提供了对文本文件进行读写的功能。JavaBean是一种特殊类型的Java类,设计用于数据封装和组件重用,通常遵循特定的命名和编码规范。在这个场景下,`TextFile`可能就是...

    java 读写文本的方法

    在Java编程语言中,读写文本文件是常见的操作。这里我们详细探讨了四种不同方法来读取文本文件:按字节读取、按字符读取、按行读取以及随机读取。 1. **按字节读取文件内容**: 这种方法通常适用于读取二进制文件...

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

    根据给定的文件信息,我们将深入探讨Java读写文件文本文件的关键知识点,这些知识点主要集中在文件的读取、写入以及流的复制等操作上。 ### Java读取文本文件 在Java中,读取文本文件通常涉及到使用`InputStream`...

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

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

    java io读写文件

    根据给定的信息,我们可以深入探讨Java IO操作中的文件读写技术,特别关注如何从一个文本文件中筛选数据并保存到另一个文件中。 ### Java IO读写文件基础 在Java中,进行文件读写的操作通常涉及两个核心包:`java....

    JAVA文本编辑器源码

    【JAVA文本编辑器源码】是一款基于Java编程语言开发的文本编辑工具,它主要用于编写和编辑`.jtxt`和`.txt`格式的文档。这款文本编辑器具备了基础的文本编辑功能,同时强调了安全性,相比传统的文本编辑器,可能在...

    Java文件读写.pdf

    Java文件读写是Java编程语言中基础且重要的操作,用于处理磁盘上的数据。本文将详细探讨Java如何进行文件读写,并提供相关的示例代码。 首先,读取文件时,Java提供了多种类来实现这一功能。`FileInputStream`是...

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

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

    JAVA源码Java读写文本文件的示例代码

    在Java编程语言中,读写文本文件是一项基础且常用的技能。Java提供了多种API来支持文件操作,包括使用传统的File类以及较新的NIO(New Input/Output)库。下面将详细讲解如何使用Java进行文本文件的读写操作。 ### ...

    java 文本字符串替换工具

    在Java编程语言中,文本字符串替换是一个常见的任务,特别是在处理大量文本数据时。这个"java 文本字符串替换工具"很可能是为了帮助开发者高效地搜索和替换文件中的特定文本内容。让我们详细了解一下如何在Java中...

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

    在Java编程语言中,读取和写入文本文件是常见的任务,这...理解并熟练运用这些知识点,你就能在Java项目中轻松地处理文本文件的读写操作。通过实践提供的示例代码,你可以更好地掌握这些概念,并根据实际需求进行调整。

    java文本编辑器

    Java文本编辑器是一种基于Java编程语言开发的软件工具,它允许用户创建、修改和查看文本文件。在Java中实现文本编辑器涉及到多个核心概念和技术,包括Swing或JavaFX图形用户界面(GUI)库,事件处理,文件I/O操作...

    java文本编辑器源码

    Java文本编辑器源码是一个基于Java编程语言实现的轻量级文本编辑工具,它提供了丰富的功能,便于开发者学习和使用。作为一个专业的IT行业大师,我很高兴为你解析这个项目中的核心知识点。 1. **Java基础**:Java是...

    java 读写文本文档源码,可自定义文件名称和路径

    java 读写文本文档源码,可自定义文件名称和路径,支持写入中文

    Java文本文档编辑器

    Java文本文档编辑器是一款基于Java编程语言开发的文本编辑工具,主要面向初级开发者或学习者,用于理解和实践Java在创建桌面应用中的能力。这款编辑器可能是为了帮助用户创建、编辑和保存纯文本文件,类似于常见的...

    TxtFileCut_Java文本分割器_

    【标题】"TxtFileCut_Java文本分割器_" 涉及的核心技术是Java的文本处理和IO流操作。在编程领域,文本分割是一个常见的需求,例如处理大型日志文件或进行数据处理。这个工具利用Java语言的强大功能,将大的TXT文本...

    Java IO学习基础之读写文本文件

    ### Java IO学习基础之读写文本文件 #### 一、Java IO概述 Java IO(Input/Output)是Java中处理输入输出操作的核心包,它主要提供了文件读写、网络通信等基本功能。Java IO操作主要基于流的概念进行,分为字节流...

    java 文件读写

    在Java编程中,文件读写是一项基础且重要的操作。它涉及到如何访问和处理磁盘上的文件,包括读取文本文件、二进制文件,以及写入新的数据到文件中。在这个场景中,我们关注的是“java文件读写”,特别是读取`...

Global site tag (gtag.js) - Google Analytics