你说的那是追加文件内容,主要的技术要点如下:
1、通过RandomAccessFile以读写的方式打开文件输出流,使用它的seek方法可以将读写指针移到文件尾,再使用它的write方法将数据写到读写指针后面,完成文件的追加。
2、通过FileWriter打开文件输出流,构造FileWriter时指定写入模式,是一个布尔值,为true时表示写入的内容添加到已有的文件内容后面,为false时重新写文件,以前的数据被清空,默认为false,
范例如下:[code=java]package com.zf.s10;//创建一个包
import java.io.FileWriter;//引入类
import java.io.IOException;
import java.io.RandomAccessFile;
public class TextSuperaddition {//将内容追加到文件尾部
//使用RandomAccessFile对象实现内容追加
public static void addFirst(String fileName){
try {
// 打开一个随机访问文件流,按读写方式
RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");
long fileLength = randomFile.length();//获得文件字节数
randomFile.seek(fileLength);//将写文件指针移到文件尾。
String content="\nIf you would know the value of money, go and try to borrow some.\n" +
"要想知道钱的价值,就想办法去借钱试试。\n";
randomFile.write(content.getBytes("gb2312"));//内容写到文件内容尾部
randomFile.close();
} catch (IOException e) {//捕获异常
e.printStackTrace();
}
}
//使用FileWriter对象实现内容追加
public static void addSecond(String fileName){
try {
//打开一个写文件器,true表示以追加形式写文件
FileWriter writer = new FileWriter(fileName, true);
String content="That man is the richest whose pleasure are the cheapest. \n"+
"能处处寻求快乐的人才是最富有的人。\n";
writer.write(content);//内容写到文件内容尾部
writer.close();
} catch (IOException e) {//捕获异常
e.printStackTrace();
}
}
public static void main(String[] args) {//java程序主入口处
String fileName = "F:/poem.txt";
System.out.println("1.RandomAccessFile对象实现内容追加:");
addFirst(fileName);//调用方法1
System.out.println("2.FileWriter对象实现内容追加:");
addSecond(fileName);//调用方法2
System.out.println("追后后文件内容显示:");
TextReadFile.readFileByLines(fileName);//调用TextReadFile类的按行读取文件方法
}
}[/code]
[ 本帖最后由 何德虎 于 2011-09-26 09:02 编辑 ] |