Java。如何將文本追加到file.txt的頂部
在開始寫入之前,可以使用RandomAccessFile來使用方法來 光標并將其0th定位seek(long position)。
如本主題所述
RandomAccessFile f = new RandomAccessFile(new File('yourFile.txt'), 'rw');f.seek(0); // to the beginningf.write('Jennifer'.getBytes());f.close();
正如下面許多評論所指出的,此解決方案從一開始就 覆蓋 了文件內(nèi)容。要完全替換內(nèi)容,可能必須 刪除 并 重寫 File 。
解決方法我需要通過Java將文本添加到文本文件的開頭。
例如我有帶有數(shù)據(jù)的test.txt文件:
PeterJohnAlice
我需要添加(到文件頂部):
Jennifer
它應該是:
JenniferPeterJohnAlice
我有一部分代碼,但是將數(shù)據(jù)追加到文件末尾,我需要將其添加到文件頂部:
public static void irasymas(String irasymai){try { File file = new File('src/lt/test.txt');if (!file.exists()) {file.createNewFile(); } FileWriter fw = new FileWriter(file.getAbsoluteFile(),true); BufferedWriter bw = new BufferedWriter(fw); bw.write(irasymai+ 'rn'); bw.close();}catch (IOException e) {e.printStackTrace();} }
我已經(jīng)嘗試過了,但這只會從文件中刪除所有數(shù)據(jù),而不會插入任何文本:
public static void main(String[] args) throws IOException {BufferedReader reader = null;BufferedWriter writer = null;ArrayList list = new ArrayList();try { reader = new BufferedReader(new FileReader('src/lt/test.txt')); String tmp; while ((tmp = reader.readLine()) != null)list.add(tmp); OUtil.closeReader(reader); list.add(0,'Start Text'); list.add('End Text'); writer = new BufferedWriter(new FileWriter('src/lt/test.txt')); for (int i = 0; i < list.size(); i++)writer.write(list.get(i) + 'rn');} catch (Exception e) { e.printStackTrace();} finally { OUtil.closeReader(reader); OUtil.closeWriter(writer);} }
謝謝你的幫助。
相關(guān)文章:
1. java - spring-data Jpa 不需要執(zhí)行save 語句,Set字段就可以自動執(zhí)行保存的方法?求解2. android - 安卓做前端,PHP做后臺服務器 有什么需要注意的?3. python的bs4如何篩選出h1標簽中的內(nèi)容4. docker-compose 為何找不到配置文件?5. docker gitlab 如何git clone?6. angular.js - 通過數(shù)據(jù)中children的個數(shù)自動生成能點擊展開的div7. javascript - 移動端H5頁面禁止縮放了,在瀏覽器上仍然可以縮放8. css - 使用blur()濾鏡為什么有透明的效果9. apache - 怎么給localhost后面默認加上8080端口10. javascript - Vue.js2.0不能使用debounce后大伙一般是如何解決延遲請求的問題的呢。
