JAVA中使用FileWriter追加文见内容

=======先参见以下源代码=========

package example.file;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;

public class OrderFile {

 private static File file;
 private static FileWriter writer;
 private static BufferedReader reader;
 
 static {
  file = new File("D:\\OrderFile.txt");
 }
 
 public static File getFile() {
  return file;
 }

 public static void setFile(File file) {
  OrderFile.file = file;
 }

 public static FileWriter getWriter() {
  return writer;
 }

 public static void setWriter(FileWriter writer) {
  OrderFile.writer = writer;
 }
 
 @SuppressWarnings("unused")
 private synchronized static void saveOrder(String text) throws Exception {
  if (null == writer){
   writer = new FileWriter(file, true);
  }
  writer.write(text + "\r\n");
  writer.flush();
 }
 
 @SuppressWarnings("unused")
 private static String readOrder() throws Exception {
  if (null == reader){
   reader = new BufferedReader(new FileReader(file));
  }

  StringBuffer buffer = new StringBuffer();
  String line = reader.readLine();
  while (null != line){
   buffer.append(line);
   buffer.append("\r\n");
   line = reader.readLine();
  }
  closeFileReader();
  return buffer.toString();
 }
 
 @SuppressWarnings("unused")
 private static void closeFileWriter() throws Exception {
  if (null != writer){
   writer.close();
  }
 }
 
 @SuppressWarnings("unused")
 private static void closeFileReader() throws Exception {
  if (null != reader){
   reader.close();
  }
 }
 
 @SuppressWarnings("unused")
 private static String buffer(String retCode){
  StringBuffer buffer = new StringBuffer();
  
  buffer.append("<MESSAGE>");
  buffer.append("<RETCODE>"+retCode+"</RETCODE>");
  buffer.append("<RETMSG>追加文件</RETMSG>");
  buffer.append("</MESSAGE>"); 
  
  return buffer.toString();
 }
 
 public static void main(String[] args) throws Exception {
  
  Long t1 = 0L, t2 = 0L;
  t1 = System.currentTimeMillis();
  for (int i = 1; i <= 100; i++){
   OrderFile.saveOrder(buffer(String.valueOf(i)));
  }
  
  t2 = System.currentTimeMillis() - t1;
  System.out.println("写入所需时间:" + t2);
  System.out.println("文件大小:" + OrderFile.getFile().length());
  OrderFile.closeFileWriter();
  
  t1 = System.currentTimeMillis();
  System.out.println(OrderFile.readOrder());
  t2 = System.currentTimeMillis() - t1;
  System.out.println("读取所需时间:" + t2);
 }
}

 

使用FileWriter时,利用FileWriter(File file, boolean append) 构造一个FileWriter对象,当append参数值为true时, 会将字节写入文件的末尾,而不是文件的开头.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值