5 votes

Ajout de la date et de l'heure au nom du fichier

Bonjour J'essaie d'ajouter la date et l'heure à un nom de fichier en JAVA. Je peux faire imprimer la date et l'heure dans le fichier, ce que je veux aussi faire, mais quand je place le toString dans le FileWriter, j'obtiens un Null Pointer.

package com.mkyong;
import java.util.*;
import java.io.*;
import java.*;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

    public class Simplex {

        private static PrintWriter outFile;

        //Main Method
        public static void main(String[] args) throws IOException {

            // Instantiate a Date object
             Date date = new Date();

             // display time and date using toString()
             outFile.println(date.toString());
             outFile.println();
            //creates the new file to be saved

            outFile = new PrintWriter(new FileWriter("simplex" + (date.toString()) + ".txt"));

10voto

Kumar Abhishek Points 1248

Si vous utilisez Java 8

DateTimeFormatter timeStampPattern = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
        System.out.println(timeStampPattern.format(java.time.LocalDateTime.now()));

5voto

Suraj Chandran Points 12859

La ligne outFile = new PrintWriter(..) doit avoir lieu avant la première utilisation de outFile.

En fait, vous utilisez outFile avant qu'il ne soit initialisé.

3voto

Viktor Stolbin Points 1070

Je vous suggère d'utiliser YYYY-MM-dd_hh-mm-ss modèle de formatage dans le nom du fichier qui vous permet de trier les fichiers de manière plus pratique. Jetez un coup d'œil à SimpleDateFormat classe.

    ...
    Format formatter = new SimpleDateFormat("YYYY-MM-dd_hh-mm-ss");
    outFile = new PrintWriter(new FileWriter("simplex_" + formatter.format(date) + ".txt"))
    ...

1voto

LocalDateTime current = LocalDateTime.now();
DateTimeFormatter format = DateTimeFormatter.ofPattern("ddMMyyyyHHmmss");
String formatedDateTime = current.format(format);
outFile = new PrintWriter(new FileWriter("simplex" + formatedDateTime  + ".txt"));

0voto

plucury Points 1040
// display time and date using toString()
outFile.println(date.toString());

Avec le code, vous utilisez outFile avant de l'initialiser.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X