????? 最近按要求寫了一個class,功能很簡單,只需在指定的網頁代碼<html>標簽后加入一段taglib(就是一段字符串),我原想很輕松,可遇到一個問題:
????? 在平常的java file 操作時,經常是打開一個file作為in流,read出數據進行各種處理,最后或輸出或返回到另外一個文件out流中。可我現在要求實現的是在同一個file中讀取并且返回到同一個文件中。在建立in流時,容易:BufferedReader buffReader = new BufferedReader(new FileReader(file));可怎么建立out流呢,總不能都指向同一文件吧?BufferedWriter buffWrite = new BufferedWriter(new FileWriter(file));
??????后來我用了一個折中的辦法,先在同一目錄下建立一個臨時的文件(例如:temp.jsp),將源文件和需要加入的taglib都寫入,然后將源文件刪除,再將temp.jsp重命名。雖然功能是實現了,沒有任何問題,但總感覺怪怪的。難道java的file操作沒有直接打開一個file流,提供編輯功能方法,修改后直接保存。
??????一點疑問,大家看看,不知道各位遇到這類問題如何解決!希望大家不吝賜教!
評論
指向同一個文件有什么問題么?只要你把buffReader關閉后再寫入就可以了。
可以由buffReader生成操作結束后的字符串,也可以生成相對位置需要改變的集合。
可以由buffReader生成操作結束后的字符串,也可以生成相對位置需要改變的集合。
如果把BuffReader關了,我又怎么定位,在指定位置寫入taglib呢?
將內容儲存在字符串中,總覺得別扭,這和我建一臨時文件是一個道理。
難道java的IO操作沒有這樣的一個功能:打開一個文件,讀取到需要的位置時插入tablib,然后直接保存。
打開一個Reader就只能read,打開一個writer就只能寫入!總覺得不爽!呵呵
將內容儲存在字符串中,總覺得別扭,這和我建一臨時文件是一個道理。
難道java的IO操作沒有這樣的一個功能:打開一個文件,讀取到需要的位置時插入tablib,然后直接保存。
打開一個Reader就只能read,打開一個writer就只能寫入!總覺得不爽!呵呵
只有注冊用戶登錄后才能發表評論。 | ||
![]() |
||
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關文章:
|
||