`

java文件读写

    博客分类:
  • Java
 
阅读更多

java几种读写的方式

1、按字节读写文件内容

字节读取

public void testReadByByte() throws IOException
	{
		//字节读取
		String path = "src/test/resources";
		File file = new File(path+"/zj.txt");
		byte[] bs = new byte[512];
		try {
			InputStream in = new FileInputStream(file);
			in.read(bs);
			System.out.println(bs);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		
	}

 

字节写入:

 

public void testWriteFileByByte(){
		//字节写入文件
		String path = "src/test/resources";
		File file = new File(path+"/zj.txt");
		try {
			FileOutputStream out = new FileOutputStream(file);
			byte b = 97;//assic值
			out.write(b);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

 

 

2、按字符读写文件内容

字符读取(两种方式)

 

public void testReadByChar() throws IOException
	{
		//字符读取,FileReader方法读取
		String path = "src/test/resources";
		File file = new File(path+"/zj.txt");
		char[] cs = new char[5];
		Reader reader = new FileReader(file);
		try {
			reader.read(cs);
			System.out.println(new String(cs));
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
	}

 

public void testReadByChar2() throws IOException
	{
		//字符读取,InputStreamReader读取
		String path = "src/test/resources";
		File file = new File(path+"/zj.txt");
		char[] cs = new char[5];
		Reader reader = new InputStreamReader(new FileInputStream(file));
		try {
			reader.read(cs);
			System.out.println(new String(cs));
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
	}

 

 

 字符写入(两种方式)

 

 

public void testWriteFileByChar(){
		//字符写入文件,FileWriter的方式
		String path = "src/test/resources";
		File file = new File(path+"/zj.txt");
		try {
			FileWriter writer = new FileWriter(file);
			String str = "writing string";
			writer.write(str);
			writer.flush();// 此句不能省
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

 

 

 

public void testWriteFileByChar2(){
		//字符写入文件,OutputStreamWriter的方式
		String path = "zj/src/test/resources";
		File file = new File(path+"/zj.txt");
		try {
			OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(file));
			String str = "writing string";
			writer.write(str);
			writer.flush();// 此句不能省
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		catch (Exception e) {
		}
	}

3、按行读取文件内容

两种方式:

 

关键代码

BufferedReader reader = new BufferedReader(new FileReader(file));
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
public void testReadLine()
	{
		//逐行读取文件
		File file = new File("src/test/resources/zj.txt");
		BufferedReader bufferReader;
		try {
			bufferReader = new BufferedReader(new InputStreamReader(  
			          new FileInputStream(file)));
			String s = null;
			while((s = bufferReader.readLine())!=null)
				System.out.println(s);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} 
	}
	

4、读写gz文件

读:

关键代码:

 

BufferedReader bufferReader  new BufferedReader(new InputStreamReader(new GZIPInputStream( new FileInputStream(file))));

 

例子:

public void testReadGzFile()
	{
		//读取gz文件
		String path = "src/test/resources";
		File file = new File(path+"/zj.gz");
		BufferedReader bufferReader;
		try {
			bufferReader = new BufferedReader(new InputStreamReader(new GZIPInputStream(   
			          new FileInputStream(file))));
			System.out.println(bufferReader.readLine());
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} 
	}

写:

关键代码:

 

PrintWriter writer = new PrintWriter(new OutputStreamWriter(new GZIPOutputStream(new FileOutputStream(filegz))));

 

示例:

public void testWriteToGzFile2() throws FileNotFoundException{
		//写入gz文件,字符方式
		String path = "src/test/resources";
		File filegz = new File(path+"/zj.gz");
		PrintWriter out;
		try {
			out = new PrintWriter(new OutputStreamWriter(new GZIPOutputStream(new FileOutputStream(filegz))));
			System.out.println("Writing gzfile"); 
			out.write("写gz文件!"); 
			out.close(); 
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
	}
	

 

5、在文件末尾追加字符串

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileOutputStream;

import java.io.FileWriter;

import java.io.IOException;

import java.io.OutputStreamWriter;

import java.io.RandomAccessFile;

 

/**

 *

 * @author malik

 * @version 2011-3-10 下午10:49:41

 */

public class AppendFile {

 

public static void method1(String file, String conent) {   

        BufferedWriter out = null;   

        try {   

            out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, true)));   

            out.write(conent);   

        } catch (Exception e) {   

            e.printStackTrace();   

        } finally {   

            try {   

            if(out != null){

            out.close();   

                }

            } catch (IOException e) {   

                e.printStackTrace();   

            }   

        }   

    }   

  

    /**  

     * 追加文件:使用FileWriter  

     *   

     * @param fileName  

     * @param content  

     */  

    public static void method2(String fileName, String content) { 

    FileWriter writer = null;

        try {   

            // 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件   

            writer = new FileWriter(fileName, true);   

            writer.write(content);     

        } catch (IOException e) {   

            e.printStackTrace();   

        } finally {   

            try {   

            if(writer != null){

            writer.close();   

            }

            } catch (IOException e) {   

                e.printStackTrace();   

            }   

        } 

    }   

  

    /**  

     * 追加文件:使用RandomAccessFile  

     *   

     * @param fileName 文件名  

     * @param content 追加的内容  

     */  

    public static void method3(String fileName, String content) { 

    RandomAccessFile randomFile = null;

        try {   

            // 打开一个随机访问文件流,按读写方式   

            randomFile = new RandomAccessFile(fileName, "rw");   

            // 文件长度,字节数   

            long fileLength = randomFile.length();   

            // 将写文件指针移到文件尾。   

            randomFile.seek(fileLength);   

            randomFile.writeBytes(content);    

        } catch (IOException e) {   

            e.printStackTrace();   

        } finally{

        if(randomFile != null){

        try {

randomFile.close();

} catch (IOException e) {

e.printStackTrace();

}

        }

        }

    }  

 

public static void main(String[] args) {

try{

File file = new File("d://text.txt");

if(file.createNewFile()){

System.out.println("Create file successed");

}

method1("d://text.txt", "123");

method2("d://text.txt", "123");

method3("d://text.txt", "123");

}catch(Exception e){

System.out.println(e);

}

}

}

 

 

6、读TXT写gz

 

public void testReadTxtWriteGZ()
	{
		File file = new File("src/test/resources/zj.txt");
		File filegz = new File("src/test/resources/zj.gz");
		PrintWriter writer = null;
		BufferedReader reader = null;
		try {
			reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
//			writer = new PrintWriter(new OutputStreamWriter(new GZIPOutputStream(new FileOutputStream(filegz))));
			writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new GZIPOutputStream(new FileOutputStream(filegz)))));//快一点
			String str =null;
			while((str = reader.readLine())!=null)
			{
				writer.println(str);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		finally
		{
			writer.close();//writer一定要关闭
		}
	}

7、 读gz写txt

 

public void testReadGZWriteTXT()
	{
		File file = new File("src/test/resources/zj.txt");
		File filegz = new File("src/test/resources/zj.gz");
		PrintWriter writer = null;
		try {
			BufferedReader reader = new BufferedReader(new InputStreamReader(new GZIPInputStream(new FileInputStream(filegz))));
			writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file))));
			String str =null;
			while((str = reader.readLine())!=null)
			{
				writer.println(str);
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		finally{
			writer.close();//writer一定要关闭
		}
	}
分享到:
评论

相关推荐

    java 文件读写

    在这个场景中,我们关注的是“java文件读写”,特别是读取`properties`配置文件和处理目录及文件的操作。下面我们将详细探讨这两个主题。 首先,`properties`配置文件是Java应用中常用的一种存储配置信息的方式。...

    java文件读写操作

    在Java编程语言中,文件读写操作是程序与外部数据交互的基本能力。这篇学习笔记将带你初探这个领域,适合新手入门。我们将讨论如何使用Java进行文件的读取、写入以及一些常见的应用场景。 首先,Java提供了java.io...

    Java文件读写类

    Java实现对文件的读写,可设置编码格式

    java文件读写之产生随机数

    java 文件读写 java 文件读写java 文件读写 java 文件读写java 文件读写 java 文件读写java 文件读写 java 文件读写

    Java文件读写.pdf

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

    java 文件读写 初步学习

    ### Java文件读写的初步学习 #### 知识点一:Java文件读取 Java提供了多种方式来读取文件,其中`FileInputStream`和`InputStreamReader`是两种常见的用于读取文本文件的方法。在给定的部分内容中,`ReadSettings`...

    JAVA 文件读写操作

    ### JAVA 文件读写操作 #### 一、使用 InputStream 和 OutputStream 进行文件读写 在 Java 开发过程中,文件的读写操作是非常基础且重要的功能之一。从 JDK 1.0 开始,Java 提供了两种主要的方式来处理文件读写:`...

    完整的java文件读写工具类

    本篇将详细讲解标题为"完整的java文件读写工具类"所涉及的核心知识点,以及如何实现描述中提到的文件与目录管理功能。 1. **Java IO基础**: Java IO是Java标准库中的核心部分,提供了处理输入/输出流的类。在`...

    Java文件读写操作有清晰注解

    以上就是Java文件读写操作的基础知识,包括核心类的使用、异常处理、资源关闭以及一些优化策略。如果你是初学者,这个例子将帮助你理解基本操作;如果你已经是高手,可能已经对这些了如指掌,但回顾基础知识总是有益...

    利用JAVA文件读写流编写的学生点名系统

    本项目“利用JAVA文件读写流编写的学生点名系统”旨在实现一个简单但实用的系统,用于记录和管理学生出勤情况。在大学课程报告中,这种系统可以帮助教师更有效地追踪学生的出席状况。 首先,我们需要了解Java中的...

    JAVA文件读写操作教程与示例代码.docx

    ### JAVA文件读写操作教程与示例代码 #### 引言 在Java编程语言中,文件的读写操作是开发过程中不可或缺的一部分。无论是简单的文本文件处理还是复杂的二进制文件管理,掌握有效的文件读写技术对于任何Java开发者来...

    深潜数据海洋:Java文件读写全面解析与实战指南

    ### 深潜数据海洋:Java文件读写全面解析与实战指南 #### 第一章:走进文件流的世界 —— 字节与字符的交响 在Java中,文件读写是通过流来实现的,流是一种从源头到目的地的数据传输通道。Java支持两种基本类型的...

    JAVA文件读写例题实现过程解析

    "JAVA文件读写例题实现过程解析" JAVA文件读写是Java编程语言中最基本也是最重要的输入/输出机制之一。通过文件读写,程序可以将数据持久化到磁盘中,从而实现数据的长期保存和交换。JAVA文件读写例题实现过程解析...

    java文件读写宣贯.pdf

    Java 文件读写是Java编程中基础且重要的部分,主要用于处理数据的存储和加载。本文将深入探讨Java如何读写文本文件,重点介绍Reader、Writer、InputStreamReader、FileReader、BufferedReader以及Writer的相关类和...

Global site tag (gtag.js) - Google Analytics