packagecom.stono.thread2;importjava.io.File;importjava.io.IOException;importjava.io.RandomAccessFile;public classModifyPackage {public static voidmain(String[] args) {
String path= "D:\\Java\\gitworkspace\\Coding\\src\\com\\stono\\thread2";
File root= newFile(path);
File[] listFiles=root.listFiles();for(File file : listFiles) {boolean isDirectory =file.isDirectory();
String name=file.getName();
String substring= name.substring(4);if(isDirectory && name.length() == 7) {int parseInt =Integer.parseInt(substring);if(parseInt<100) {
System.out.println(parseInt);
File[] listFiles2= file.listFiles(); //找到里面的文件了;
for(File file2 : listFiles2) {
String oldstr="com.stono.thread2.page";
String newStr="com.stono.thread2.page0";
modifyFileContent(file2,oldstr,newStr);
}
}
}
}
}private static booleanmodifyFileContent(File file2, String oldstr, String newStr) {
RandomAccessFile raf= null;try{
raf= new RandomAccessFile(file2, "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(Exception e) {
e.printStackTrace();
}finally{try{
raf.close();
}catch(IOException e) {
e.printStackTrace();
}
}return true;
}
}