J'essaie de lire un fichier puis d'ajouter du texte à un certain endroit dans le fichier (c.-à-d. @ Offset jabjab). Le problème se produit lorsque j'essaie d'écrire dans le fichier au décalage jabjab. Quelle est l'erreur?PrintWriter exception: String index out of range
Contenu du fichier:
Mi
<?xml Version="1.0"?>
_
File f = new File("data.dat");
String brstring = null;
String entrystring = null;
try {
BufferedReader br = new BufferedReader(new FileReader(f));
String line;
StringBuilder result = new StringBuilder();
while ((line = br.readLine()) != null) {
result.append(line+"\r\n");
}
br.close();
System.out.print(result);
int jabjab = result.indexOf("?>");
System.out.println(jabjab);
PrintWriter fo = new PrintWriter(f);
fo.write("ok", jabjab, 2);
fo.flush();
fo.close();
} catch (Exception ex) {
System.out.print(ex.getMessage());
}
Sortie de la console, y compris l'erreur:
Mi// output of the result string
<?xml Version="1.0"?>//output of the result string
23//output of jabjab
String index out of range: 25String index out of range: 25//output of exception
En outre, après cette méthode se fait le fichier original est maintenant vide ...