需求背景:多次向文件中依次写入内容,

需求分析:如何向文件中依次追加内容呢?而且不清空之前的内容。

今天就分享一下基于Java语言,如何在文件末尾追加内容。

import java.io.*;

public class AddContent2TxtLast {
/**
* "\\r\\n"用于换行
*
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// 可以是其它格式的文件
String pathName = "D:\\img\\test.txt";
String conent = "\r\n测试,把字符追加到文件末尾";
addContentPlus(pathName, conent);
conent = "\r\naddContent2TxtLast";
addContent2TxtLast(pathName, conent);
conent = "\r\nmethod2";
method2(pathName, conent);
} /**
* 追加文件内容:<p>
* 判断文件是否存在,不存在则创建<p>
* 使用FileOutputStream,在构造FileOutputStream时,把第二个参数设为true<p>
*
* @param pathName
* @param conent
*/
public static void addContentPlus(String pathName, String conent) throws IOException {
File file = new File(pathName);
// 判断文件不存在,返回
if (!judeFileExists(file)) {
return;
}
if (!file.exists()) {
file.createNewFile();
}
BufferedWriter out = null;
try {
out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(file, true)));
out.write(conent);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} /**
* 追加文件:使用FileOutputStream,在构造FileOutputStream时,把第二个参数设为true,表示在文件末尾追加
*
* @param pathName
* @param conent
* @throws IOException
*/
public static void addContent2TxtLast(String pathName, String conent) throws IOException {
FileOutputStream fos = new FileOutputStream(pathName, true);
fos.write(conent.getBytes());
fos.flush();
fos.close();//流要及时关闭
} /**
* 追加文件:使用FileWriter
*
* @param pathName
* @param content
*/ public static void method2(String pathName, String content) throws IOException {
FileWriter writer = null;
try {
// 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
writer = new FileWriter(pathName, true);
writer.write(content);
} catch (IOException e) {
e.printStackTrace();
} finally {
writer.flush();
writer.close();
} } // 判断文件是否存在
public static boolean judeFileExists(File file) {
if (file.exists()) {
System.out.println("File exists");
return Boolean.TRUE;
} else {
System.out.println("File not exists, please create it ...");
return Boolean.FALSE;
}
} }

如果遇到文件目录不存在的场景,请参考《当文件不存在时自动创建文件目录和文件》的解决策略。

Java 在文件末尾追加内容的更多相关文章

  1. java文件末尾追加内容的两种方式

    java 开发中,偶尔会遇到在文件末尾对文件内容进行追加,实际上有多种方式可以实现,简单介绍两种: 一种是通过RandomAccessFile类实现,另一种是通过FileWriter类来实现. 实现方 ...

  2. JAVA向文件中追加内容(转)

    向文件尾加入内容有多种方法,常见的方法有两种: RandomAccessFile类可以实现随机访问文件的功能,可以以读写方式打开文件夹的输出流 public void seek(long pos)可以 ...

  3. Java文件末尾追加字符串

    Java进行文件输出时,有时候想直接向已有文件末尾追加字符,而不是从头开始写,可以采用以下三种方式实现: package test; import java.io.File; import java. ...

  4. Linux 向文件末尾追加命令

    Linux 向文件末尾追加命令 //echo后边用单引号包围要添加的内容 echo 'add content'>>/home/data/test.sh 注意:>> 是追加 ec ...

  5. Java将文件中的内容转换为sql语句(和并发定时读取文件)

    数据文件内容data.txt {USER_TYPE=1,CREATE_USER=ZHANG,UPDATE_USER=li,OPER_NUM=D001,SRC=2,UPDATE_TIME=2018-11 ...

  6. Linux 使用echo向文件末尾追加命令

    //echo后边用单引号包围要添加的内容 echo 'add content'>>/home/data/test.sh 注意>>表示在原来的文件末尾上进行追加,如果使用的是&g ...

  7. 【FTP】java FTPClient 文件上传内容为空,文件大小为0

    问题:如题所述,使用FTPClient上传至FTP服务器, 表现如下:①文件大小为0 ②上传很小的文件,但是要花费很长的时间,20K要花费2分钟甚至更久 ③没有任何的报错,没有任何的乱码 解决方法: ...

  8. Java代码片段——向文件末尾添加内容

    BufferedWriter out = null; try { out = new BufferedWriter(new FileWriter(”filename”, true)); out.wri ...

  9. linux写文件,追加内容

    覆盖文件 echo "hello" > filename 追加文件 echo "haha" >> filename

  10. C#在txt类文件中追加内容

    string path = "test.txt"; FileStream mystream = new FileStream(path, FileMode.OpenOrCreate ...

随机推荐

  1. 【MATLAB习题】四杆机构的运动学参数求解

    1.问题描述 2. 推导过程 3. matlab代码 最新版代码 直接采用求微分的方式得到角度,角速度等数值解,速度慢,但是代码少,容易看懂(矩阵看起来真难受). 以前做的一个博客文章用的是矩阵运算求 ...

  2. 关于centos 7安装binwalk的过程中产生的问题

    啊,kali机坏了,又安的centos o(╥﹏╥)o 但是centos没有binwalk,它也不能像kali机一样之间install 又在网上搜教程 https://blog.csdn.net/qq ...

  3. k8s 报错: node(s) didn't match Pod's node affinity.

    前言 k8s集群中,有pod出现了 Affinity ,使用 kubectl describe pod 命令,发现了报错 2 node(s) didn't match Pod's node affin ...

  4. PostgreSQL configure: error: readline library not found

    前言 安装 PostgreSQL 时报错,以下 configure: error: readline library not found If you have readline already in ...

  5. php使用redis锁

    redis加锁分类 redis能用的的加锁命令分别是INCR.SETNX.SET 利用predis操作redis方法大全 第一种锁命令INCR 这种加锁的思路是, 当 key 不存在,那么 key 的 ...

  6. IvorySQL 增量备份与合并增量备份功能解析

    1. 概述 IvorySQL v4 引入了块级增量备份和增量备份合并功能,旨在优化数据库备份与恢复流程.通过 pg_basebackup 工具支持增量备份,显著降低了存储需求和备份时间.同时,pg_c ...

  7. 一文速通Python并行计算:00 并行计算的基本概念

    一文速通 Python 并行计算:00 并行计算的基本概念 摘要: 该文介绍了 Python 并行计算的核心概念.编程模型及其应用,并介绍了了并行程序的性能分析与优化方法,如并行效率.加速比及 Amd ...

  8. 使用UNRAID系统,搭建ALL IN ONE全过程

    NAS最强攻略:使用UNRAID系统,搭建ALL IN ONE全过程!超万字教程,绝对干货! 2020-06-01 11:24:27 1690点赞 11149收藏 717评论 创作立场声明:熬了几个通 ...

  9. gmpy2库

    在密码计算中会牵扯大素数的计算模逆等,gmpy2库就是一个这种库 求整数a.b的最大公因数 a = gmpy2.gcd(3,12) 判断一个数是否为素数 a = gmpy2.is_prime(5) 判 ...

  10. QwQ-32B:用强化学习打造的AI推理黑科技 🚀

    现在就体验 QwQ-32B:https://qwq32.com AI界的新星闪耀登场 小伙伴们,AI领域又出现重大突破啦!Qwen团队最新发布的QwQ-32B模型简直太厉害了!这个只有320亿参数的模 ...