Re: [問題] 寫入檔案,有辦法寫入某行後方接續寫入?
※ 引述《whitebase (finn)》之銘言:
: 各位大大好,
: 想請問一下關於寫檔,
: 是可以在不覆蓋的情況下接續往下寫入,
: 但有辦法辦到整個檔案以寫入完備畢後,
: 接續的往某一行的後方寫嗎?
: 範例如下:
: 123
: 456
: 789
: 原檔案長這樣,
: 有辦法改成:
: 123
: 456ABC
: 789
: 這個樣子嗎?可接在某一行之後,而不是只接在最後一行之後
這個我有點懷疑你有一個典型的觀念錯誤
事實上這檔案並不是長個如你所想的這樣
而是長得比較像這樣123@456@789
他其實是一個plain的, linear的結構
並沒有「行」這種概念
"@"這個東西在linux, unix跟windows各用不同的兩個位元表示
Windows底下是\r\n Linux底下是\n而BSD系卻是\r
不過不管他是什麼,事實上「行」的概念是不存在的
所以「接在某行後面的操作」其實真正的意思是
「找出第幾個@,然後把一串字元放在他前面」
這顯然並不是普通檔案API會幫你做的事情
不過既然有邏輯,代表他實際上也做的到
這也是一個相當有名的棘手問題,因為在跨平台的時候每個平台"@"都不太一樣
這可以當作java練習題來試試看
噢對,差點忘了,unicode也是可以來參戰的 :D
不過java應該交給系統處理就可以了...
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.167.26
※ 文章網址: http://www.ptt.cc/bbs/java/M.1400847290.A.3D8.html
→
05/24 02:05, , 1F
05/24 02:05, 1F
→
05/24 02:08, , 2F
05/24 02:08, 2F
推
05/24 02:12, , 3F
05/24 02:12, 3F
→
05/24 05:04, , 4F
05/24 05:04, 4F
→
05/24 05:08, , 5F
05/24 05:08, 5F
→
05/24 05:10, , 6F
05/24 05:10, 6F
→
05/24 06:14, , 7F
05/24 06:14, 7F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):