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

17、java追加文件内容(写入方式)

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

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.Charset;

/**
 * 追加内容到文件中
 * @author GYJ
 * @date 2014-3-22
 */
public class AppendFile {

	/**
	 * 之前写了如何写入文件,单是写入文件是覆盖了之前的内容
	 * <p>这个实例展现如何追加内容到文件中
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		//追加的目标文件
		String fileName = "/Users/GYJ/java1.txt";
		//追加的数据
		String appendData = "this string will be append to last row fileName";
		//追加文件
		addpendUsingOutputStream(fileName, appendData);
		appendUsingBufferedWrite(fileName, appendData, 400);
		appendUsingFileWrite(fileName, appendData);
		//读出文件
		File file = new File(fileName);
		FileInputStream fis = new FileInputStream(file);
		InputStreamReader isr = new InputStreamReader(fis, Charset.defaultCharset());
		BufferedReader br = new BufferedReader(isr);
		String line;
		int i = 0;
		while ((line = br.readLine()) != null) {
			i ++;
			System.out.println(i + "read result = " + line);
		}
		br.close();
	}
	
	/**
	 * 使用普通流
	 * @param fileNme	被追加的文件名称
	 * @param data		被追加的数据内容
	 * @throws IOException 
	 */
	private static void addpendUsingOutputStream(String fileName, String data) throws IOException {
		//true: 表示是追加的标志
		FileOutputStream os = new FileOutputStream(new File(fileName), true);
		os.write(data.getBytes(), 0, data.length());
		os.close();
	}
	
	/**
	 * 使用BufferedWrite
	 * @param fileName
	 * @param data
	 * @throws IOException 
	 */
	private static void appendUsingBufferedWrite(String fileName, String data, int noOfLines) throws IOException {
		File file = new File(fileName);
		FileWriter fw = null;
		BufferedWriter bw = null;
		//true:表示是追加的标志
		fw = new FileWriter(file, true);
		bw = new BufferedWriter(fw);
		//开始输出写入文件
		for (int i = 0; i < noOfLines; i++) {
			bw.newLine();
			fw.write(data);
		}
		bw.close();
		fw.close();
	}
	
	/**
	 * 使用fileWrite
	 * @param fileName
	 * @param data
	 * @throws IOException 
	 */
	private static void appendUsingFileWrite(String fileName, String data) throws IOException {
		File file = new File(fileName);
		FileWriter fw = null;
		//true:表示是追加的标志
		fw = new FileWriter(file, true);
		fw.write(data);
		fw.close();
	}

}

0
1
分享到:
评论

相关推荐

    JAVA 文件写入 效率测试

    JAVA 文件写入 效率测试 fileWrite outputStreamTest bufferedOutputTest bufferedWriteTest bufferedWrite And FileWriterTest bufferedWrite And BufferedOutputStreamTest

    java IO以追加方式写文件FileWrite

    NULL 博文链接:https://blacklab.iteye.com/blog/562541

    Java往文件结尾追加数据

    Java往文件结尾追加数据(用Eclipse打开。)主要代码:RandomAccessFile vRandomAccessFile = new RandomAccessFile&#40;sFile,"rw"&#41;;vRandomAccessFile.writeBytes(sInput);

    如何使用EasyExcel库来写入Excel文件

    总结一下,实现Excel文件写入的步骤包括: 1.引入EasyExcel的依赖。 2.准备数据,将数据封装到Java对象中。 3.使用EasyExcel.write创建ExcelWriter对象,并指定文件名和Java对象类型。 4.使用sheet方法指定test名称...

    Java写入文件、读取文件,复制、追加、修改文件最后修改时间、时间格式转换、查看端口使用情况

    Java写入文件、读取文件,复制、追加、修改文件最后修改时间、时间格式转换、查看端口使用情况

    java操作CSV文件

    该文档主要介绍java如何操作csv文件,在这里介绍了一个工具包的使用,也黏贴了java对于读取csv文件和写入csv文件时,对于大数据量的处理和安排,有效的解决了处理大数据是内存溢出问题

    java追加写入txt文件的方法总结

    在本篇文章里我们给大家整理了关于java如何追加写入txt文件的方法和代码,需要的朋友们可以参考下。

    java实现超大文件的读写功能

    主要为大家详细介绍了java实现超大文件的读写功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    java 将字符串追加到文件已有内容后面的操作

    主要介绍了java 将字符串追加到文件已有内容后面的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    java实现追加内容到文件末尾的常用方法分析

    主要介绍了java实现追加内容到文件末尾的常用方法,结合具体实例分析了java文件流及写入指针等相关操作技巧,需要的朋友可以参考下

    java对csv文件进行读写操作

    使用java对csv文件进行读写操作的源代码,包含javacsv.jar

    java 46种文件操作大全

    17.以一个文件夹的框架在另一个目录创建文件夹和空文件 18.复制文件 19.复制一个文件夹下所有的文件到另一个目录 20.提取扩展名 21.提取文件名 22.提取文件路径 23.替换扩展名 24.追加路径 25.移动文件 26....

    java io 文件操作大全

    java io 文件操作大全 目录的建立/检查与删除 如何在JSP中处理虚拟目录 文件属性的取得 取出目录中文件的方法 判断是否为空白文件 读取所有的文件数据 一行一行读取数据 ...如何将数据追加写入到文件

    Java序列化多次追加到txt以及从txt反序列化

    java,使用序列化,多次将类的实例写入txt文件,以追加方式而非覆盖方式,同样反序列化从txt文件中读取出来,并显示在控制台上。

    java_IO操作_(读写、追加、删除、移动、复制等)

    java_IO操作_(读写、追加、删除、移动、复制等)

    java 如何往已经存在的excel表格里面追加数据的方法

    主要介绍了java 如何往已经存在的excel表格里面追加数据的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    跨平台的word(doc,docx,rtf)插入图片功能

    跨平台支持doc,docx,rtf的图片插入,不是生成文档,而是在现有文档上追加后生成新文档。 另外需要安装OpenOffic,并且启动服务,详情见jodconverter的官网。 使用到的技术有iText,poi,jodconverter 使用方法: 1、...

    beanShell数据写入本地.txt

    保存本地文件会把逐次请求的不同参数的结果分别保存。...BeanShell PostProcessor每次可以打开相同文件,在一个文件上 追加 写入 。可以实现存到同一文件中。 注意:保存结果到本地,也要创建***正则提取器***哦~~

    23个常用的文件处理方法

    拷贝文件并显示进度(只能拷贝文件) ,15.COPY文件 ,16.COPY文件夹 ,17.删除指定的文件,18.移动文件(只能移动文件) ,19.本地下载 ,20.网络下载 ,21.根据文件头判断请求来自的浏览器,以便有针对性的对文件名转码...

    基于JAVA的搜索引擎 lucene-2.2.0

    它主要实现了根据指定的建立索引的方式(重写、追加写入),通过create标志位来判断,从而指定一种在操作索引文件的过程中删除索引文件的策略。 必须深入地理解IndexWriter索引器初始化的过程,以及在构造一个...

Global site tag (gtag.js) - Google Analytics