1. 程式人生 > 實用技巧 >java分頁讀取檔案

java分頁讀取檔案

 1 /**
 2      * 
 3      * @param fileName 檔案全路徑
 4      * @param pageNo  頁數
 5      * @param pageSize  每頁的條數
 6      * @return
 7      */
 8     List<String> getLines(String fileName,int pageNo,int pageSize){
 9         File file = new File(fileName);
10         BufferedReader reader = null;
11
List<String> lines = new ArrayList<String>(); 12 try { 13 int startRow = (pageNo - 1) * pageSize + 1; //計算開始行數 14 int endRow = pageNo * pageSize; //計算結束行數 15 reader = new BufferedReader(new FileReader(file)); 16 LineNumberReader lineNumberReader = new
LineNumberReader(new FileReader(file)); 17 lineNumberReader.skip(Long.MAX_VALUE); 18 int lineNumber = lineNumberReader.getLineNumber() + 1; //獲取檔案裡面的總行數 19 if(endRow >= lineNumber){ 20 endRow = lineNumber; 21 } 22 String tempString = "";
23 int line = 0; 24 // 一次讀入一行,直到讀入null為檔案結束 25 while (tempString != null) { 26 line++; 27 tempString = reader.readLine(); 28 if(line >= startRow && line <= endRow) { 29 lines.add(tempString); 30 } 31 } 32 reader.close(); 33 return lines; 34 } catch (IOException e) { 35 e.printStackTrace(); 36 } finally { 37 if (reader != null) { 38 try { 39 reader.close(); 40 } catch (IOException e) { 41 e.printStackTrace(); 42 } 43 } 44 } 45 return null; 46 }