項目使用到了需要將配置文件中指定內容替換為想要更新的內容,特此記下,已被后用
/**
*
* @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;
}
