Avatar billede dennism Nybegynder
05. oktober 2006 - 17:04 Der er 13 kommentarer og
1 løsning

Java: hent filtype fra File()

Jeg har et File-object som refererer til .jpg, .bmp, .gif og .png billeder.
Hvordan kan jeg få noget kode til at returnere enten JPG, BMP, GIF eller PNG afhængigt af hvilken fil det er?
Avatar billede arne_v Ekspert
05. oktober 2006 - 17:22 #1
du kan fiske det ud efter sidste punktum i navnet og teste paa det

hvis du vil til at teste paa filen sindholde bliver det mere tricky
Avatar billede schwarz84 Nybegynder
05. oktober 2006 - 20:37 #2
Skal det bruges til at læse billedet? ImageIO kan læse billeder uden at du selv behøver at kende formatet...
Avatar billede dennism Nybegynder
06. oktober 2006 - 10:05 #3
Nej, jeg skal bruge det til at gemme et billede :)

HVordan kan jeg så den til at kigge på teksten efter det sidste punktum?
Avatar billede dennism Nybegynder
06. oktober 2006 - 12:40 #4
Kan I ikke hjælpe med, hvordan jeg får den den skidt ad, så jeg har en variabel der indeholder filnavnet efter punktumet?
Avatar billede arne_v Ekspert
06. oktober 2006 - 13:15 #5
.lastIndexOf og .substring burde kunne gøre det
Avatar billede dennism Nybegynder
06. oktober 2006 - 15:17 #6
Kan du fortælle mig, hvorfor dette ikke virker:

System.out.println(getFilepath().lastIndexOf("."));
Avatar billede arne_v Ekspert
06. oktober 2006 - 15:45 #7
umidedelbart vil jeg da tro at det virker fint

men du mener nok

System.out.println(getFilepath().substring(getFilepath().lastIndexOf(".")));
Avatar billede dennism Nybegynder
06. oktober 2006 - 15:53 #8
Der hvor jeg bruger koden, er indeni en try. hvordan kan det være, overstående kode ødelægger den - og gør til cache?
Avatar billede dennism Nybegynder
06. oktober 2006 - 15:55 #9
..og udskriver jeg exception får jeg:

java.lang.NullPointerException
Avatar billede arne_v Ekspert
06. oktober 2006 - 15:59 #10
lyder som om getFilepath() returnerer null
Avatar billede dennism Nybegynder
06. oktober 2006 - 16:23 #11
Tak, det var bedre :)

Eneste problem er nu, at den returnerer .jpg og ikke jpg. Hvordan klarer jeg den?
Avatar billede arne_v Ekspert
06. oktober 2006 - 16:48 #12
System.out.println(getFilepath().substring(getFilepath().lastIndexOf(".")+1));
Avatar billede dennism Nybegynder
16. oktober 2006 - 12:50 #13
Tak for hjælpen!

Gider du lige at smide et svar?
Avatar billede arne_v Ekspert
16. oktober 2006 - 13:02 #14
kommer her
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