Quelle est la meilleure façon d'écrire des octets au milieu d'un fichier en utilisant Java?Meilleure façon d'écrire des octets au milieu d'un fichier en Java
13
A
Répondre
20
Lire et écrire au milieu d'un fichier est aussi simple que d'utiliser un RandomAccessFile
en Java.
RandomAccessFile
, malgré son nom, ressemble plus à un InputStream
et OutputStream
et moins à un File
. Il vous permet de lire ou de chercher à travers bytes
dans un fichier, puis de commencer à écrire sur les octets que vous souhaitez arrêter. Une fois que vous avez découvert cette classe, il est très facile à utiliser si vous avez une compréhension de base des fichiers d'entrée/sortie standard.
Un petit exemple:
public static void aMethod(){
RandomAccessFile f = new RandomAccessFile(new File("whereDidIPutTHatFile"), "rw");
long aPositionWhereIWantToGo = 99;
f.seek(aPositionWhereIWantToGo); // this basically reads n bytes in the file
f.write("Im in teh fil, writn bites".getBytes());
f.close();
}
6
0
Ouvrez le fichier en mode écriture sans le tronquer, cherchent à le décalage désiré et écrire les données souhaitées. Faites juste attention au mode texte/binaire.
et si je ne connais pas la position ou si j'ai des centaines de fichiers où je dois insérer des données au milieu d'eux après un texte spécifié? – VENKI
Si vous ne connaissez pas la position, alors vous devez ouvrir le fichier et le lire pour trouver où vous devez écrire. – jjnguy
mon "fichier.txt" contient un texte comme celui-ci "salut comment vous (nouvelle ligne) je vais bien merci" maintenant je veux insérer "sont" au milieu du texte ce que je dois faire? en faisant cela s'il vous plaît noter que nous travaillons avec une grande quantité de fichiers de taille – VENKI