comment écrire le contenu dans une position Spécifique dans un Fichier
Supposons que j'ai un fichier nommé abhishek.txt et qui contient la ligne suivante
Je suis , et quel est votre nom.
Maintenant, je veux écrire
Abhishek
après "je suis" comme je suis Abhishek, ..
Comment écrire le contenu dans cette position spécifique directement.
OriginalL'auteur Abhishek Choudhary | 2011-04-26
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas insérer des données dans un fichier. Vous pouvez écraser les données à un emplacement spécifique avec
RandomAccessFile
. Cependant une insertion nécessite une modification de toutes les données après. Pour votre cas, essayez quelque chose comme ceci à la place:OriginalL'auteur WhiteFang34
Vous ne pouvez pas insérer des données dans un fichier... systèmes de fichiers (en général) n'ont tout simplement pas l'appui d'une telle opération. En général, vous auriez du ouvrir un fichier pour la lecture et l'autre pour l'écriture, la copie de la première partie du fichier à partir d'un flux à l'autre, d'écrire la pièce supplémentaire, puis copier la deuxième partie du fichier.
Si vous essayez de remplacer le fichier d'origine, vous serait alors nécessaire de la supprimer et de déplacer le nouveau fichier en place.
Parfois, il peut être plus simple à lire l'intégralité du fichier en mémoire un aller - cela dépend exactement ce que vous êtes en train de faire, et la taille du fichier est.
OriginalL'auteur Jon Skeet
Une manière générale, vous devez lire l'ancien fichier, modifier le contenu de la mémoire et de l'écrire à nouveau.
Il y a beaucoup d'options ici, si vous lisez le fichier à la fois, ou un petit morceau à la fois, si vous remplacer le fichier existant, etc, mais c'est en général le modèle à utiliser.
OriginalL'auteur MeBigFatGuy
Vous avez trois choix:
OriginalL'auteur MJB
J'ai réussi à le faire à l'aide de RandomAccessFile:
Avec cela, vous obtenez un fichier contenant exactement les attend " je suis Abhishek de contenu.
Cela fonctionne même si vous auriez contenu après la première ligne, que vous souhaitez conserver dans le fichier(c'était mon premier problème: j'ai eu un gros fichier, et j'ai dû insérer du contenu après une certaine Chaîne de caractères) plutôt que d'écrire à la fin du fichier, ce qui est plus facile.
OriginalL'auteur Crenguta S