Java学习笔记——读写追加文件内容

实际项目中,拿到文本文件如果需要在文件中替换或者添加内容,可以用java.io.RandomAccessFile实现。

原文件内容:

1、最简单的文件末尾添加

需要在网页中添加一个打印网页的按钮,上码

import java.io.RandomAccessFile;

public class MyTest20200405 {
	
	public static void main(String[] args) throws Exception {
		try {
			String sFilePath = "F:/study/20200520/mytest0520.txt";
			RandomAccessFile raf = new RandomAccessFile(sFilePath,"rw");
			raf.seek(raf.length());//定位到文件末尾
			String sAddStr = "MyTest20200405";
			raf.write(sAddStr.getBytes("UTF-8"));//追加新的内容
			raf.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}

}

修改后的文件内容

页面效果:

2、在文件内容中间添加

需要先定位添加内容的位置,并将该位置后面的内容临时存起来,再将添加的内容写上去,写完最后在把原来的内容追加上去。

不然会直接把原来的内容覆盖掉。

比如这样:

import java.io.RandomAccessFile;

public class MyTest20200405 {
	
	public static void main(String[] args) throws Exception {
		try {
			String sFilePath = "F:/study/20200520/mytest0520.html";
			RandomAccessFile raf = new RandomAccessFile(sFilePath,"rw");
			String sAddStr = "<input type='button' name='print' value='打印' οnclick='pagePrint()'>";
			sAddStr += "<script language='javascript'>"
					+ "function pagePrint(){"
					+ "document.all('print').style.display='none';"
					+ "window.print();"
					+ "}"
					+ "</script>";
			raf.seek(77);//定位到指定位置
			raf.write(sAddStr.getBytes());//追加新的内容
			raf.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}

}

覆盖效果

待续。。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章