débutant files [JAVA] - Programmation
Marsh Posté le 08-02-2002 à 16:10:00
je ne vois rien de bien méchant ...
C'est pas hypra clair mais c'est correct. Quand à effacer une ligne en plein milieu d'un fichier c'est pas trivial. Il n'y a pas de méthode toute fait pour faire ca
Marsh Posté le 08-02-2002 à 16:26:13
oui c'est un peu mon problème, je ne sais du tout comment effacer une ligne dans un fichier. Faut-il réecrir le fichier en omettant la ligne (ça craint).
une idée ???
Marsh Posté le 08-02-2002 à 16:31:38
ou alors une question toute bête, utilisez vous java pour gerer vos fichiers ou quelque chose à coté
Merci
Marsh Posté le 08-02-2002 à 16:44:07
tout le temps
Marsh Posté le 08-02-2002 à 16:53:35
scaldan a écrit a écrit : ou alors une question toute bête, utilisez vous java pour gerer vos fichiers ou quelque chose à coté Merci |
Je ne sais pas si cela peut t'etre util, mais si ecris tu texte et que l'ordre des infos dans ton fichier n'a pas d'importance, tu peux utiliser un objet properties que tu load et save ... ainsi les infos supprimés des properties de sont pas resauvées, donc supprimées du fichier.
Marsh Posté le 08-02-2002 à 23:15:11
Ça équivaut plus ou moins à réécrire le fichier, non?
Marsh Posté le 09-02-2002 à 08:37:38
Krueger a écrit a écrit : Ça équivaut plus ou moins à réécrire le fichier, non? |
tu as une autre solution lorsque tu veux effacer une ligne donnée dans un fichier?
Je pense bien que le seul truc c'est de lire le fichier et de le réécrire sauf la ligne en question.
Marsh Posté le 08-02-2002 à 16:01:57
Bonjour,
Voilà, je ne comprend que moyennement la gestion de fichiers en java, et je n'arrive pas à trouver un moyen d'effacer une ligne dans un fichier. Déja que j'ai eu du mal à créer un enreg dans un fichier (et je suppose que ma façon de le faire est pas geniale, geniale). Si vous pouviez m'expliquer comment faire et même me donner les points negatifs de ma création d'un enreg.
Merci
/* ecriture d'un nouvel enregistrement dans le fichier */
public static void nouvelEnregistrement(Infos infos)
{
try
{
// ouverture du fichier et positionnement à la fin
PrintWriter sortie = new PrintWriter(new FileWriter("d:\\prog\\liste\\fichier\\animes.log", true));
/* on retaille le nom pour qu'il fasse une longueur de 30 chars */
StringBuffer sortieFichierNom = new StringBuffer (infos.nomAnimeDialog);
int longueur = (int) infos.nomAnimeDialog.length();
int taille = 30 - longueur;
for(int i=0; i<taille; i++)
{
sortieFichierNom.append(" " );
}
// écriture du flux de sortie dans le fichier
sortie.println(sortieFichierNom + infos.nbEpsAnimeDialog + infos.anneeAnimeDialog);
sortie.close();
}
catch (IOException e)
{
System.out.println("IOException : " + e);
}
catch (IllegalArgumentException e)
{
System.out.println("IllegalArgumentException : " + e);
}
catch (Exception e)
{
System.out.println("Run : " + e);
}
}