看板 java 關於我們 聯絡資訊
我有一個txt檔,裡面放了很多網址 可以用BufferedReader的readLine去讀取 假設我有很多執行緒都需要讀同一個文件檔去下載檔案 所以我想把讀擋這件事情獨立出來 所以我把它寫在另一個類別 package download2; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class Read { static public String readfile(String s) throws IOException{ BufferedReader br = new BufferedReader(new FileReader(s)); String s2=br.readLine(); return s2; } } 傳入值s是執行緒呼叫時填入的 可是每個執行緒去取的時候都只會取到文件檔的第一條網址 如果想讓上面程式具有 每個執行序取一次,readLine就往下一行取 避免取到同一條網址 應該如何修正呢~?? 還有個小問題 如果用URL去抓檔案時,有方法可以得知目標檔案的大小嗎~? -- @mintle ▅◣ 幫我去圖書館借書 橋本 紡 快點! ● ● /﹊ˋ ◢█ λ ▆▅ 我喜歡里香, ▄▄▄▄▄▄▄好!馬上去 全世界所有的一切加起來 ████▊███/ 都沒有里香來的重要 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.13.9 ※ 編輯: mintle 來自: 61.230.13.9 (07/27 11:22)
H45:怪怪,你是想讓第 n 條執行緒讀取第 n 行文字嗎? (n: 自然數) 07/27 11:27
mintle:我學沒多久概念不是很清楚~ 07/27 11:28
mintle:還是通通讀到陣列在處理比較好~? 07/27 11:30
H45:存網址的檔案通常不大,先讀完檔案再做其他事情,記憶體應夠用 07/27 11:45
mintle:恩恩 剛剛用陣列去存好在讀 已經解決了 感謝~ 07/27 11:57
H45:若要省記憶體,可考慮邊讀檔案邊做你要做的事情 07/27 14:38