`
坏我一锅粥
  • 浏览: 59777 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

16、java写入文件的几种方式

    博客分类:
  • IO
阅读更多
package com.tij.io.file;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Paths;

/**
 * java写入文件
 * <p>怎样用fileWrite、BUfferedWriter、Files、FileOutPutStream写入文件
 * @author GYJ
 * @date 2014-3-21
 */
public class WriteFile {

	/**
	 * FileWrite 适用于文件量少的写入,因为它是直接写入到文件的不会进行缓存。也是最简单的方式
	 * BufferedWriter和FileWrite 有点相似,但是的话他是利用了缓存区来写入,降低了IO的操作,提高了很多的性能适用于大数据量的操作
	 * FileOutputStream 的性能介于前两者之间
	 * Files 是java7提供的文件类
	 * @param args
	 */
	public static void main(String[] args) {
		String data = "马上开始写入这些文件";
		int noOfLines = 10000;
		writeUsingFileWrite(data);
        
        writeUsingBufferedWrite(data, noOfLines);
         
        writeUsingFiles(data);
         
        writeUsingOutputStream(data);
        
        System.out.println("DONE");
        //out put==============
        /*  ==========FileWrite==========
		==========BufferedWrite==========
		==========Files==========
		==========OutputStream==========
		DONE*/
	}
	
	/**
	 * 使用流的方式
	 * @param data	要写入的数据
	 */
	private static void writeUsingOutputStream(String data) {
		System.out.println("==========OutputStream==========");
		OutputStream os = null;
		try {
			//定义要写入的目标文件
			os = new FileOutputStream(new File("/Users/GYJ/java1.txt"));
			os.write(data.getBytes(), 0, data.length());
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				os.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	
	/**
	 * java7中提供的Files类写入
	 * @param data
	 */
	private static void writeUsingFiles(String data) {
		System.out.println("==========Files==========");
		try {
			Files.write(Paths.get("/Users/GYJ/java1.txt"), data.getBytes());
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 适用于数据量比较多,使用的是内部缓存区减低了IO的操作,节省时间
	 * @param data
	 * @param noOfLines
	 */
	private static void writeUsingBufferedWrite(String data, int noOfLines) {
		System.out.println("==========BufferedWrite==========");
		File file = new File("/Users/GYJ/java1.txt");
		FileWriter fr = null;
		BufferedWriter br = null;
		String dataWithNewLine = data + System.getProperty("line.separator");
		try {
			fr = new FileWriter(file);
			br = new BufferedWriter(fr);
			for (int i = noOfLines; i > 0; i-- ) {
				 br.write(dataWithNewLine);
			}
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				br.close();
				fr.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	
	/**
	 * FileWrite:适用于数据量较少
	 * @param data
	 */
	private static void writeUsingFileWrite(String data) {
		System.out.println("==========FileWrite==========");
		File file = new File("/Users/GYJ/java1.txt");
		FileWriter fr = null;
		try {
			fr = new FileWriter(file);
			fr.write(data);
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				fr.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

}

0
0
分享到:
评论

相关推荐

    java写入文件操作的几种方法

    详细介绍了java语言中写文件操作的几种不同的方法,针对不同的需求可以灵活选择。

    Java写入文件的几种方法共8页.pdf.zip

    Java写入文件的几种方法共8页.pdf.zip

    文件写入,几种方式.docx

    java中io流,利用三种方式将数据写入文件中,新手必备

    java写入文件的几种方法分享

    主要介绍了java写入文件的几种方法,需要的朋友可以参考下

    JAVA上百实例源码以及开源项目

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    JAVA上百实例源码以及开源项目源代码

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    java 下执行mysql 批量插入的几种方法及用时

    java 下执行mysql 批量插入的几种方法及用时,1000次插入方法的比较。

    java开源包11

    fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的插件,用来对 HTML 文件内容进行清洗和格式化处理。它采用...

    java开源包6

    fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的插件,用来对 HTML 文件内容进行清洗和格式化处理。它采用...

    java开源包9

    fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的插件,用来对 HTML 文件内容进行清洗和格式化处理。它采用...

    Java面试宝典2020修订版V1.0.1.doc

    17、Java怎么读取文件和写入文件 65 18、java怎么复制文件 68 19、用JDBC如何调用存储过程 69 20、JDBC中的PreparedStatement相比Statement的好处 71 21、写一个用jdbc连接实例。 71 22、ArrayList和Vector的区别? ...

    java开源包4

    fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的插件,用来对 HTML 文件内容进行清洗和格式化处理。它采用...

    java开源包101

    fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的插件,用来对 HTML 文件内容进行清洗和格式化处理。它采用...

    JAVA文件压缩与解压缩的设计与实现(源代码+论文)

    ZIP是一种较为常见的压缩形式,在Java中要想实现ZIP的压缩需要导入java.util.zip包,可以使用此包中的ZipFile、ZipOutputStream、ZipInputStream、ZipEntry几个类完成。 ZipOutputStream 实现文件的压缩 ...

    java开源包5

    fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的插件,用来对 HTML 文件内容进行清洗和格式化处理。它采用...

    java开源包8

    fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的插件,用来对 HTML 文件内容进行清洗和格式化处理。它采用...

    java开源包10

    fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的插件,用来对 HTML 文件内容进行清洗和格式化处理。它采用...

    java开源包3

    fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的插件,用来对 HTML 文件内容进行清洗和格式化处理。它采用...

Global site tag (gtag.js) - Google Analytics