Cyh的博客

Email:kissyan4916@163.com
posts - 26, comments - 19, trackbacks - 0, articles - 220

添加内容到文件尾

Posted on 2009-05-24 21:26 啥都写点 阅读(556) 评论(0)  编辑  收藏 所属分类: J2SE
关键技术:
  • 通过RandomAccessFile以读写的方式打开文件输出流,使用它的seek方法可以将读写指针移到文件尾,再使用它的write方法将数据写到读写指针后面,完成文件的追加
  • 通过FileWriter打开文件输出流,构造FileWriter时指定写入模式,是一个布尔值,为true时表示写入的内容添加到已有文件内容的后面,为false时重新写文件,以前的数据被清空,默认为fasle。

package book.io;

import java.io.FileWriter;
import java.io.IOException;
import java.io.RandomAccessFile;

/**
 * 将内容追加到文件尾部
 
*/
public class AppendToFile {

    
/**
     * A方法追加文件:使用RandomAccessFile
     * 
@param fileName    文件名
     * 
@param content    追加的内容
     
*/
    
public static void appendMethodA(String fileName, String content){
        
try {
            
//    打开一个随机访问文件流,按读写方式
            RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");
            
//    文件长度,字节数
            long fileLength = randomFile.length();
            
//将写文件指针移到文件尾。
            randomFile.seek(fileLength);
            randomFile.writeBytes(content);
            randomFile.close();
        } 
catch (IOException e){
            e.printStackTrace();
        }
    }
    
/**
     * B方法追加文件:使用FileWriter
     * 
@param fileName
     * 
@param content
     
*/
    
public static void appendMethodB(String fileName, String content){
        
try {
            
//打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
            FileWriter writer = new FileWriter(fileName, true);
            writer.write(content);
            writer.close();
        } 
catch (IOException e) {
            e.printStackTrace();
        }
    }

    
public static void main(String[] args) {
        String fileName 
= "C:/temp/newTemp.txt";
        String content 
= "new append!";
        
//按方法A追加文件
        AppendToFile.appendMethodA(fileName, content);
        AppendToFile.appendMethodA(fileName, 
"append end. \n");
        
//显示文件内容
        ReadFromFile.readFileByLines(fileName);
        
//按方法B追加文件
        AppendToFile.appendMethodB(fileName, content);
        AppendToFile.appendMethodB(fileName, 
"append end. \n");
        
//显示文件内容
        ReadFromFile.readFileByLines(fileName);
    }
}



                                                                                                       --    学海无涯
        


只有注册用户登录后才能发表评论。


网站导航: