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

网友投稿 579 2022-11-25


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

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

/**

* 将字符串追加到文件已有内容后面

*

* @param fileFullPath 文件完整地址:D:/test.txt

* @param content 需要写入的

*/

public static void writeFile(String fileFullPath,String content) {

FileOutputStream fos = null;

try {

//true不覆盖已有内容

fos = new FileOutputStncLgxXream(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();

}

}

}

}

代码如下:

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.


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java读写文件,在文件中搜索内容,并输出含有该内容的所有行方式
下一篇:Java 日期和时间类的基本使用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~