Chaque jour, je mets à jour un fichier csv avec un FileWriter
. Lorsque nous entrons dans un nouveau mois, je dois supprimer les données du mois précédent. Le code ci-dessous ne met à jour que les données d’un fichier csv. Aidez-nous donc à supprimer les données du mois précédent.
Au moins, j’ai besoin de savoir comment effacer les données d’un fichier csv avec FileWriter
, afin que je puisse gérer coder pour supprimer les données du mois précédent.
private static void eventsUpdate(HttpServletRequest request,
HttpServletResponse response) {
String date=request.getParameter("date"); //getting from jsp page
String event=request.getParameter("event"); //getting from jsp page
File file = new File( "D:///events/events.csv");
if ( !file.exists() )
file.createNewFile();
FileWriter fw = new FileWriter(file,true);
BufferedWriter writer = new BufferedWriter( fw );
writer.write(date);
writer.write(",");
writer.write(event);
System.out.println("writing into excel");
writer.newLine();
writer.close();
fw.close();
}
Réponses:
4 pour la réponse № 1En fait, lorsque vous utilisez le true
argument dans votre FileWriter
instanciation, vous créez un objet rédacteur de fichier dans ajouter mode.
FileWriter fw = new FileWriter(file,false);
Si vous n’utilisez pas le true
option, le fichier sera écrasé par le nouveau contenu. Par conséquent, je suggérerais de suivre cette feuille de route:
- Lire le contenu du fichier dans son ensemble, dans un
String
- Supprimer le contenu que vous souhaitez supprimer de la
String
- Écraser le fichier contenu en utilisant votre nouveau contenu dans le spécifique
String
J'espère que j'ai aidé!
0 pour la réponse № 2
Je vous suggère de créer un fichier de noms unique comme mars / 2014 / janvier 2013 au lieu de le supprimer. Chaque mois, vous devez lire votre fichier cible nommé par votre stratégie de mois.
Pour ex:
Lorsque vous atteignez avril2014, créez un nouveau fichier avril 2014, etc., et lisez-le pour ce mois.