it-swarm.com.de

Erstellen Sie den Dateinamen mit Datum und Uhrzeit

Ich hoffe, Sie konnten mir helfen, ich versuche, das Datum aus einer anderen Klasse einzuholen und sehe aus wie "2011-03-09 06-57-40". Ich möchte dies verwenden, um die folgende Datei zu erstellen, aber jedes Mal, wenn ich es tue Die Ausgabe wird ausgeführt, und beim erneuten Aufrufen von dat () wird eine neue Datei erstellt. Ich weiß, was falsch läuft. Ich bin mir nur nicht sicher, wie ich es beheben soll. Ich möchte permently in dieselbe Datei schreiben. Ich hoffe das macht Sinn? : /

Vielen Dank für jede Hilfe im Voraus :)

    date d = new date();
    String  cdate = d.date();


    String f = h;

    try{
        PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(cdate + ".tsv", true)));
        out.print(f);
        out.print("\t");
        out.close();
    }catch (IOException e){
    }
28
Tom

So erstellen Sie eine Datei mit dem Namen des aktuellen Datums/der aktuellen Uhrzeit:

Date date = new Date() ;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss") ;
File file = new File(dateFormat.format(date) + ".tsv") ;
BufferedWriter out = new BufferedWriter(new FileWriter(file));
out.write("Writing to file");
out.close();
36
Rune Aamodt

Dieser wahrscheinlich viel einfacher. Nur eine Codezeile, um den Namen der Datei als Datum und Uhrzeit zuzuweisen.

String out = new SimpleDateFormat("yyyy-MM-dd hh-mm-ss'.tsv'").format(new Date());
20
olcaysah

Ich werde es trotzdem versuchen und antworten. Verwenden Sie den folgenden Code, um eine Datums- oder Uhrzeitfolge möglichst kontrolliert abzurufen

Calendar cal = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = dateFormat.format(cal.getTime());

Suchen Sie nach http://download.Oracle.com/javase/6/docs/api/Java/text/SimpleDateFormat.html . Es könnte beim Verständnis helfen. Sie können der formatierten Zeichenfolge auch Stunde/Minute oder das, was Sie benötigen, hinzufügen.

Eine andere Möglichkeit besteht darin, die "unteren" Felder wie Millisekunden, Sekunden und Minuten im Kalender immer auf Null zu setzen.

cal.set(Calendar.MINUTE,0);

Wenn Sie Ihr Datum aus einer anderen Klasse abrufen und keinen Kalender direkt erstellen können, können Sie das Datum auch in den Kalender einfügen (Hinweis: Nur zum Formatieren benötigen Sie den Kalender nicht).

cal.setTime(date);

Vielleicht hilft dies, die Kontrolle über den erstellten Dateinamen/die erstellte Datei zu verbessern.

10
Yashima

Es wird nur ein bisschen effizienter sein - nur ein SimpleDateFormat- und ein Date-Objekt für jede Datei sowie keine String-Verkettung.

private  final static String getDateTime()  
{  
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd_hh:mm:ss");  
    df.setTimeZone(TimeZone.getTimeZone("PST"));  
    return df.format(new Date());  
}  
2
Freeman
public class BELogs {

    private final static Logger logger = Logger.getLogger(BSELogs.class
            .getName()); 

             boolean makeDir = false;
             Date date = new Date();
             SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy") ;
             String curDate =dateFormat.format(date);
             FileHandler fh;     

               public BSELogs()  {

         try {  

             File file = new File("/home//Desktop/Logs "+curDate);
             makeDir = file.mkdir();
             fh = new FileHandler(file+"/MyLogFile.log "+curDate,true);  
             logger.addHandler(fh);
             // Set the logger level to produce logs at this level and above.
             logger.setLevel(Level.FINE);
             SimpleFormatter formatter = new SimpleFormatter();  
             fh.setFormatter(formatter);  

          } catch (SecurityException ex) {  **strong text**
             ex.printStackTrace();  
          } catch (IOException e) {  
               e.printStackTrace();  
           }  

    logger.info("Data Log Genrated............"); 

      }
}             
1
user3860274