Re: [問題] 請問關於檔案讀取

看板java作者 (叔叔你人真好)時間17年前 (2008/07/22 22:06), 編輯推噓11(1103)
留言14則, 6人參與, 最新討論串4/5 (看更多)
※ 引述《proudszl (無聲的喧嘩)》之銘言: : 不好意思 對於這位大大的話有些疑問@@ : 可以請問一下 RandomAccessFile 隨機讀取檔案 : 不是只能直接讀取檔案的嗎 ? : 無法讀取檔案裡面的細部內容吧~ ... 什麼叫只能直接讀取檔案又不能讀取檔案裡面的細部內容 ( ̄□ ̄|||)a 之前的站友都說得很清楚了,例如你的檔案每行會固定有 10 bytes 你要讀取第 100001 行,就是要由 (100001 - 1) * (10 + newline.length) bytes 開始讀 那就用RandomAccessFile 然後 seek( (100001 - 1) * (10 + newline.length) ) 從那邊開始讀進 10 bytes (查看 API) 要再讀第 x 行就再去算一次就好了 如果你的檔案每行都是不同長度... 那要麼你就用傳統方法邊讀邊丟邊數 要麼就在檔案最前面 maintain 一個 resolve table,紀錄每一行的長度 一開始先讀進你要 seek 那行的 position 在哪就好了。 : 還是RandomAccessFile有專門讀取某行功能? : 小弟愚昧 java剛起步 想多了解一下~~ : 麻煩知道的朋友替我解惑一下~ -- 很多人以為 所以我要 其實我是個 我是大學生 告訴大家 三十一歲的怪叔叔 ● ●/ ︿ ︿ /\ < ● ㄨ /\ ㄨ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.103.134.28 ※ 編輯: superlubu 來自: 218.103.134.28 (07/22 22:08)

07/22 23:33, , 1F
Sorry 小弟第一次用這method...抱歉
07/22 23:33, 1F

07/22 23:39, , 2F
每行都不同長度 但是檔案內容有點多..@@ 1500行左右
07/22 23:39, 2F

07/22 23:59, , 3F
1500程式大概3秒內就跑完
07/22 23:59, 3F

07/23 00:09, , 4F
不過每行都不一樣長 要如何得知某行是從第幾個位元開始?
07/23 00:09, 4F

07/23 00:11, , 5F
我笨了 請忽略我上面那行問題 囧
07/23 00:11, 5F

07/23 00:49, , 6F
實話是 我沒時做過CVS 不過我認為可以用patterm matcher
07/23 00:49, 6F

07/23 01:05, , 7F
印象中java好像有把excel的csv當資料庫用的API
07/23 01:05, 7F

07/23 01:33, , 8F
cvs單純多了
07/23 01:33, 8F

07/23 03:51, , 9F
nerverfly , 那是 Text Driver , 不是java only .
07/23 03:51, 9F

07/23 03:53, , 10F
gooogle "text drier connectionstring"
07/23 03:53, 10F

07/23 09:01, , 11F
1500 行就全讀進好了, 不用搞 RandomAccess....
07/23 09:01, 11F

07/23 09:07, , 12F
csv != cvs
07/23 09:07, 12F

07/23 13:30, , 13F
我打錯啦啦= =是csv
07/23 13:30, 13F

07/23 13:31, , 14F
以逗號分隔 真的很單純了
07/23 13:31, 14F
文章代碼(AID): #18XUc34c (java)
討論串 (同標題文章)
文章代碼(AID): #18XUc34c (java)