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

所属分类: 软件编程 / java 阅读数: 124
收藏 0 赞 0 分享

我就废话不多说了,大家还是直接看代码吧~

/**
  * 将字符串追加到文件已有内容后面
  * 
  * @param fileFullPath 文件完整地址:D:/test.txt
  * @param content 需要写入的
  */
 public static void writeFile(String fileFullPath,String content) {
  FileOutputStream fos = null;
  try {
   //true不覆盖已有内容
   fos = new FileOutputStream(fileFullPath, true); 
   //写入
   fos.write(content.getBytes());
   // 写入一个换行
   fos.write("\r\n".getBytes());
      
  } catch (IOException e) {
   e.printStackTrace();
  }finally{
   if(fos != null){
    try {
     fos.flush();
     fos.close(); 
    } catch (IOException e) {
     e.printStackTrace();
    }
   }
  }
 }

补充知识:java写文件时往末尾追加文件(而不是覆盖原文件),的两种方法总结

代码如下:

import java.io.FileWriter;
import java.io.IOException;
import java.io.RandomAccessFile;
 
public class AppendToFile {
 /**
  * A方法追加文件:使用RandomAccessFile
  */
 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
  */
 public static void appendMethodB(String fileName, String content) {
  try {
   //打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件,如果为 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.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);
 }
}

java控制台输出结果如下:

++++++readFileByLines:++++++

以行为单位读取文件内容,一次读一整行:

line 1: Sun Yat-sen(November 12, 1866–March 12, 1925) was a Chinese revolutionary and political leader who is often referred to as the "father of modern China". Sun played an instrumental and leadership role in the eventual overthrow of the Qing Dynasty in 1911. He was the first provisional president when the Republic of China was founded in 1912. He later co-founded the Kuomintang (KMT) where he served as its first leader. new append!append end.

++++++readFileByLines:++++++

以行为单位读取文件内容,一次读一整行:

line 1: Sun Yat-sen(November 12, 1866–March 12, 1925) was a Chinese revolutionary and political leader who is often referred to as the "father of modern China". Sun played an instrumental and leadership role in the eventual overthrow of the Qing Dynasty in 1911. He was the first provisional president when the Republic of China was founded in 1912. He later co-founded the Kuomintang (KMT) where he served as its first leader. new append!append end. line 2: new append!append end.

以上这篇java 将字符串追加到文件已有内容后面的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Java实现一个简单的文件上传案例示例代码

这篇文章主要介绍了Java实现一个简单的文件上传案例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

详解在spring中使用JdbcTemplate操作数据库的几种方式

这篇文章主要介绍了详解在spring中使用JdbcTemplate操作数据库的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

java中的switch case语句使用详解

这篇文章主要介绍了java中的switch case语句使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

深入理解Java 线程池

这篇文章主要介绍了Java 线程池的相关资料,文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

详解mybatis #{}和${}的区别、传参、基本语法

这篇文章主要介绍了mybatis #{}和${}的区别、传参、基本语法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

MyBatis 中 ${}和 #{}的正确使用方法(千万不要乱用)

这篇文章主要介绍了MyBatis 中 ${}和 #{}的正确使用方法,本文给大家提到了MyBatis 中 ${}和 #{}的区别,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Mybatis中的 ${} 和 #{}区别与用法

这篇文章主要介绍了Mybatis中的 ${} 和 #{}区别与用法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Maven安装过程图文详解

这篇文章主要介绍了Maven安装过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

SpringBoot登录拦截配置详解(实测可用)

这篇文章主要介绍了SpringBoot登录拦截配置详解(实测可用),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

JAVA 内存溢出案例汇总

这篇文章主要介绍了JAVA 内存溢出案例的汇总,文中讲解非常细致,帮助各位工作学习时避免内存溢出,感兴趣的朋友可以了解下
收藏 0 赞 0 分享
查看更多