public class FileUtil{ /*判斷是不是目錄*/ public static Boolean isDirectory(String path){ Boolean isDirectory=false; File file=new File(path); if(file.isDirectory()){ isDirectory=true; } return isDirectory; } /*判斷路徑是不是存在*/ public static Boolean isExists(String path){ Boolean isExists=false; File file=new File(path); if(file.exists()){ isExists=true; } return isExists; } /*從第幾行開始向上刪除*/ public static List<String> readAndRemoveFirstLines(File file, int lineNum){ List<String> strList = new ArrayList<String>(); RandomAccessFile raf = null; try{ raf = new RandomAccessFile(file, "rw"); //Initial write position long writePosition = raf.getFilePointer(); for (int i = 0 ; i < lineNum ; i++){ String line = raf.readLine(); if(line == null){ break; } strList.add(line); } // Shift the next lines upwards. long readPosition = raf.getFilePointer(); byte[] buff = new byte[1024]; int n; while (-1 != (n = raf.read(buff))) { raf.seek(writePosition); raf.write(buff, 0, n); readPosition += n; writePosition += n; raf.seek(readPosition); } raf.setLength(writePosition); } catch(IOException e){ e.printStackTrace(); } finally{ try{ if(raf != null){ raf.close(); } }catch(IOException e){ e.printStackTrace(); } } return strList; } /** * 以行爲單位讀取文件,經常使用於讀面向行的格式化文件 */ public static JSONObject readFileByLines(String fileName) { JSONObject jsonObject = new JSONObject(); File file = new File(fileName); BufferedReader reader = null; try { // System.out.println("以行爲單位讀取文件內容,一次讀一整行:"); reader = new BufferedReader(new FileReader(file)); String tempString = null; int line = 1; // 一次讀入一行,直到讀入null爲文件結束 while ((tempString = reader.readLine()) != null) { // 顯示行號 jsonObject.put(line+"",tempString); System.out.println("line " + line + ": " + tempString); line++; } reader.close(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { } } } return jsonObject; } 參考連接:https://blog.csdn.net/Lv_1093964643/article/details/82757625