Avatar billede babynamnam Nybegynder
13. april 2002 - 23:11 Der er 3 kommentarer og
1 løsning

Navngive billedefiler med underværende dato!

Jeg har lavet et program behandler billeder efter behandlingen bliver de enkelte billede gemt med navnet 11.jpeg som her under:
  JAI.create("filestore", image2, "C:\\mappe2\\11.jpeg ", "jpeg", null) ;

Det jeg gerne vil er at gemme billederne med den nuværende dato som fil navn, som f.eks "Sat Apr 13 23:11:09 CEST 2002" ved hjælp af  Date DT = new Date();
men jeg ved ikke lige hvordan....man kunne måske også bare omdåbe det netop gemte billede med den nuværende dato hvis det ville være nemmere???
Avatar billede soreno Praktikant
14. april 2002 - 10:24 #1
Date date = new Date();
  System.out.println(date);  //via. toString();

derfor:
JAI.create("filestore", image2, "C:\mappe2\" + date", "jpeg", null);
Avatar billede babynamnam Nybegynder
14. april 2002 - 11:03 #2
hej soreno
jeg har prøvet dit forslag men det virker ikke der er fejl inden det compiles, men hvis jeg bruger linien herunder er der ingen fejl inden compiling men der imod fejl under compiling
JAI.create("filestore", image2, "C:\\mappe2\\ "+date+".jpeg " , "jpeg", null) ;

fejlen er:

java.lang.IllegalArgumentException: FileStore IOException encountered in file creation test: Forkert parameter
    at javax.media.jai.JAI.createNS(JAI.java:900)
    at javax.media.jai.JAI.create(JAI.java:786)
    at javax.media.jai.JAI.create(JAI.java:1471)
    at billedeberegner.BilledeBeregner.main(BilledeBeregner.java:49)
Exception in thread "main"

da parametrene for JAI.create("filestore") er:
JAI.create("filestore", image, filename,                          filetype, encodeParam);

Den vil ikke godtage andet end en file-sti som filename.

Jeg tænkte på at omdøbe den netop gemte fil "11.jpeg" men jeg kender ikke koden der til!??
Avatar billede soreno Praktikant
14. april 2002 - 11:23 #3
det er fordi at ""Sat Apr 13 23:11:09 CEST 2002" indeholder ':' hvilket er et ugyldigt tegn til filnavn i windows. Derfor skal ':' skiftes ud med eks '.' :

Date date = new Date();
StringBuffer dato = new StringBuffer();
StringTokenizer st = new StringTokenizer(date.toString(), ":");
       
while(st.hasMoreTokens())
{
    String temp = st.nextToken();
   
    if(st.hasMoreTokens())
        dato.append(temp + ".");           
    else
        dato.append(temp); //for ikke at tilføje et '.' efter sidste token       
}
JAI.create("filestore", image2, "C:\\mappe2\\ "+dato+".jpeg " , "jpeg", null) ;
Avatar billede babynamnam Nybegynder
15. april 2002 - 16:47 #4
Hej soreno

Jeg kunne nu ikke helt få din kode til at virke ...der skete ingen ændring af : til . , men jeg har løst det ved at bruge koden herunder, efter at du fortalte at jeg ikke kunne bruge ":" i et fil navn

Calendar nu = Calendar.getInstance();
                int time = nu.get(Calendar.HOUR_OF_DAY);
                int minut = nu.get(Calendar.MINUTE);
                int sek = nu.get(Calendar.SECOND);
                int maaned = nu.get(Calendar.MONTH);
                int dag = nu.get(Calendar.DAY_OF_MONTH);
                int aar = nu.get(Calendar.YEAR);

og....

JAI.create("filestore", image2, "C:\\mappe2\\"+dag+" "+maaned+" "+time+" "+minut+ " "+sek+" "+aar+".jpeg ", "jpeg", null) ;

..så du får hermed de vel fortjente point
...og tak for hjælpen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester