1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| try { File file = new File ("/home/user/host.txt");
//lecture du fichier
StringBuilder builder = new StringBuilder();
final Scanner sc = new Scanner(new FileInputStream("/home/user/host.txt"));
while (sc.hasNext())
{
builder.append(sc.nextLine().trim());
}
sc.close();
builder.trimToSize();
//préparation de la regexp
final Pattern p = Pattern.compile("\\{[^\\}\\{]*\\}");
Matcher m = p.matcher(builder.toString());
int begin = 0, end = 0;
//parse l'expression
BufferedWriter sortiroutt = new BufferedWriter(new FileWriter("/home/user/routeursupp.txt", true));
while (m.find()) {
begin = m.start();
end = m.end();
//analyser le bloc
if(m.equals("192.162.54.150"))
{ // écrire le bloc à supprimer dans un autre fichier
BufferedWriter sortirout = new BufferedWriter(new FileWriter("/home/user/routeur_gardé.txt", true));
sortirout.write(builder.toString()+"\n");
sortirout.close();
}
else {
// écrire le bloc dans un fichier temporaire
sortiroutt.write(builder+"\n");
}
}
sortiroutt.close();
//prépare pour le prochain bloc
builder = new StringBuilder(builder.substring(end));
m = p.matcher(builder);
} catch(java.io.IOException e) {
e.printStackTrace();
} |
Partager