項目使用到了需要將配置文件中指定內容替換為想要更新的內容,特此記下,已被后用
/** * * @param fileName 要修改的文件名 * @param oldstr 要修改的字段 * @param newStr 替換的字段 */ public static Boolean updateStartBat(String fileName, String oldstr, String newStr){ RandomAccessFile raf = null; try { raf = new RandomAccessFile(PathUtil.appPath +File.separator +"nginx-1.14.2" + File.separator + File.separator+fileName, "rw"); String line = null; long lastPoint = 0; //記住上一次的偏移量 while ((line = raf.readLine()) != null) { final long ponit = raf.getFilePointer(); if(line.contains(oldstr)){ String str=line.replace(oldstr, newStr); raf.seek(lastPoint); raf.writeBytes(str); } lastPoint = ponit; } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { raf.close(); } catch (IOException e) { e.printStackTrace(); } } return true; }