Avatar billede pcnovice Nybegynder
27. september 2005 - 22:11 Der er 15 kommentarer

File.getCreateDate eller noget lignende

Hej!

Jeg sidder og leder efter en måde hvorpå jeg kan læse en fils "create date".

Jeg sidder på en Windows platform, og jeg kan forstille mig at "create date" ikke gemmes ens på forskillige platforme, og at Sun derfor måske har valgt ikke at implementere en File.getCreateDate metode.

Er der nogen som har en fidus til hvordan man fikser den?
Avatar billede arne_v Ekspert
27. september 2005 - 22:29 #1
den er svær

org.apache.naming.resources.FileDirContext.FileResourceAttributes

klassen skulle have sådan en metode ...
Avatar billede pcnovice Nybegynder
27. september 2005 - 22:59 #2
>arne_v

Tak for det. Det ser jo lovene ud.

Kender du til et sted hvor jeg kan hente en naming-resources.jar
Avatar billede arne_v Ekspert
27. september 2005 - 23:05 #3
den kommer med bl.a. Tomcat
Avatar billede pcnovice Nybegynder
27. september 2005 - 23:52 #4
>arne_v

Jeg ved at det er meget at forlange, men du kunne vel ikke komme med et eksempel?

Jeg har lidt knas med at få det til at virke, idet FileResourceAttributes tilsyneladende er en nestet klasse (som er protected).

På forhånd, mange tak! (Håber jeg ;o) )
Avatar billede arne_v Ekspert
28. september 2005 - 00:03 #5
ups - det havde jeg ikke lige lagt mærke til

lidt kig i source koden ser heller ikke for god ud


        /**
        * Get creation time.
        *
        * @return creation time value
        */
        public long getCreation() {
            if (creation != -1L)
                return creation;
            creation = file.lastModified();
            return creation;
        }


        /**
        * Get creation date.
        *
        * @return Creation date value
        */
        public Date getCreationDate() {
            if (creation == -1L) {
                creation = file.lastModified();
            }
            return super.getCreationDate();
        }
Avatar billede arne_v Ekspert
28. september 2005 - 00:03 #6
måske skulle du satse på en JNI løsning
Avatar billede pcnovice Nybegynder
29. september 2005 - 16:59 #7
>arne_v

Har aldrig rodet med JNI før, men jeg fandt et gammelt spørgsmål ang. jni som du har svaret på (497380)

Jeg har hentet c-compileren "mingw" som du anbefalede "looppen". Jeg har prøvet at kopiere den kode som du lavede til looppen, og jeg får samme fejl.

SetWall.c:3:17: jni.h: No such file or directory
SetWall.c:5: syntax error before "void"
SetWall.c:5: parse error before '*' token
SetWall.c: In function `Java_SetWall_setWallPaper':
SetWall.c:7: `cntx' undeclared (first use in this function)
SetWall.c:7: (Each undeclared identifier is reported only once
SetWall.c:7: for each function it appears in.)
SetWall.c:7: `fnm' undeclared (first use in this function)

Mine gcc komandoer ser således ud:
gcc -c -I\Program Files\JBuilder\jdk1.4\include -I\Program Files\JBuilder\jdk1.4\include\win32 SetWall.c -o SetWall.obj
gcc -s -shared -Wl,--export-all,--kill-at SetWall.obj -o setwall.dll

Min SetWall.c ligger i samme bibliotek som min class fil.

Hvad gør jeg forkert?
Avatar billede arne_v Ekspert
29. september 2005 - 18:24 #8
jeg tror at du skal have "" omkring filnavne med mellemrum i
Avatar billede arne_v Ekspert
29. september 2005 - 18:25 #9
jeg har også skrevet om JNI her:
  http://www.eksperten.dk/artikler/252
men build mæssigt er der ikke noget nyt i den
Avatar billede arne_v Ekspert
29. september 2005 - 18:26 #10
har du checket at jni.h ligger i \Program Files\JBuilder\jdk1.4\include ?
Avatar billede pcnovice Nybegynder
29. september 2005 - 19:36 #11
>arne_v

jni.h ligger i include

Min gcc komando ser nu således ud:
gcc -c -I\"Program Files"\JBuilder\jdk1.4\include -I\"Program Files"\JBuilder\jdk1.4\include\win32 SetWall.c -o SetWall.obj


men dette er hvad jeg får ud:
C:\Documents and Settings\Max\My Documents\Java\HomeUtils\classes\homeutils>gcc
-c -I\"Program Files"\JBuilder\jdk1.4\include -I\"Program Files"\JBuilder\jdk1.4
\include\win32 SetWall.c -o SetWall.obj
gcc: cannot specify -o with -c or -S and multiple compilations

?
Avatar billede arne_v Ekspert
29. september 2005 - 19:41 #12
gcc -c -I"\Program Files\JBuilder\jdk1.4\include" -I"\Program Files\JBuilder\jdk1.4\include\win32" SetWall.c -o SetWall.obj
Avatar billede pcnovice Nybegynder
29. september 2005 - 20:16 #13
\arne_v

Jo tak, det virkede.

Nu er det bare JBuilder der smidder en "java.lang.UnsatisfiedLinkError: no setwall in java.library.path" fejl

og prøver jeg fra cmd, får jeg:
Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion'
has value '1.4', but '1.5' is required.
Error: could not find java.dll
Error: could not find Java 2 Runtime Environment.

Prøver at hente java 1.5 og udvikler med den?
Avatar billede arne_v Ekspert
29. september 2005 - 21:38 #14
det lyder som at du bygger med en Java version (1.5) og kører med en ældre (1.4)
Avatar billede dsj Nybegynder
30. september 2005 - 13:35 #15
Måske du skulle tage et kig på: http://tolstoy.com/samizdat/jconfig.html

Der er en del udvidede funktioner til fil-håndtering.
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