tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
390
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Coopar Coopar ist offline Rookie
    Registriert seit
    Jun 2006
    Beiträge
    9
    Hallo,

    ich benutze ein MessageFormat zur Erstellung eines Dateinamens.
    Anschließend möchte ich den Dateinamen wieder mittels des MessageFormats parsen.

    Code :
    1
    
    private static final MessageFormat FILENAME_FORMAT = new MessageFormat("event_{0}_{1,time,yyyyMMddHHmmssSSS}.{2,number,000}.txt");

    Erstellung des Dateinamen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    public synchronized String getFileName() {
            Date tstamp = new Date();
            if (tstamp.equals(lastUsedIdTimestamp)) {
                idCount++;
            } else {
                lastUsedIdTimestamp = tstamp;
                idCount = 0;
            }
            return FILENAME_FORMAT.format(new Object[]{getCloneId(), lastUsedIdTimestamp, new Integer(idCount)});
        }

    Parsen des Dateinamen:
    Code :
    1
    2
    3
    4
    
    File file = files[i];
                    String fileName = file.getName();
                    try {
                        Object[] patternObjects = FILENAME_FORMAT.parse(fileName);

    Bei mir lokal funktioniert das mit folgendem String wunderbar:
    Code :
    1
    
    "event_NA_20111110142214529_000.txt"

    Bei einem Freund scheitert das Parsen mit einer Parse-Exception:
    Code :
    1
    2
    3
    
    java.text.ParseException: MessageFormat parse error!
        at java.text.MessageFormat.parse(MessageFormat.java:1021)
        at com.test.project.event.Test.parseFiles(Test.java:109)

    Wenn wir bei dem Freund das ".txt" am Ende wegnehmen, funktioniert wieder alles.

    Wir haben das beide mit Java 1.5 und Java 1.6 laufen lassen.
    Bei mir läuft es unter beiden Versionen, bei meinem Freund unter keiner der Versionen.

    Hat jeman eine Idee, was wir falsch machen?
     

  2. #2
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist gerade online Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Hi,
    eine Vermutung von mir wäre, dass bei deinem Freund den "event_{0}_{1,time,yyyyMMddHHmmssSSS}.{2,number,000}.txt" als Dateinamen sieht und die Extension (.txt) "versteckt" hält. Aber wie gesagt, das ist nur eine Vermutung.

    Gruß

    Fabio
     
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  3. #3
    Coopar Coopar ist offline Rookie
    Registriert seit
    Jun 2006
    Beiträge
    9
    Wir haben bereits nur das Parsen mit einem String versucht, ohne einen Datei zu erzeugen oder einen Dateinamen zu parsen.
    Auch dann verhält es sich leider so unterschiedlich.
     

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.
    Zitat Zitat von Coopar Beitrag anzeigen
    Code :
    1
    
    private static final MessageFormat FILENAME_FORMAT = new MessageFormat("event_{0}_{1,time,yyyyMMddHHmmssSSS}.{2,number,000}.txt");

    ...

    Bei mir lokal funktioniert das mit folgendem String wunderbar:
    Code :
    1
    
    "event_NA_20111110142214529_000.txt"
    Das kann eigentlich nicht sein.

    Du hast da zwischen der Zeit und dem number Teil ein '_' statt eines '.' wie vom Format vorgeschrieben.

    Ansonsten, mach doch einfach mal ein vollständiges Minimalprogramm.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Ähnliche Themen

  1. MessageFormat und Zahlenformatierung
    Von sepan im Forum Java
    Antworten: 1
    Letzter Beitrag: 03.07.07, 13:15
  2. Antworten: 3
    Letzter Beitrag: 21.09.04, 14:11