Avatar billede it-dyret Nybegynder
12. marts 2007 - 11:19 Der er 6 kommentarer og
2 løsninger

Tilladte tegn i filnavn

Hej!

I forbindelse med oprettelse af en fil, hvor brugeren skal angive filnavnet, har jeg brug for at sikre mig, at brugeren kun angiver tilladte tegn - og hvis ikke, så komme med en sigende fejlmeddelelse.

Umiddelbart tænker jeg, at jeg blot kan fange den IOException, som det må give, hvis syntaksen på filnavnet ikke er korrekt, hvorefter jeg kan melde brugeren, at "der er en fejl i syntaks".

Men kan jeg ikke gøre det lidt mere elegant? Findes der f.eks. en metode i Javas API, som kan teste et filnavn og sige, hvilke(t) tegn, der evt. ikke er i orden?
Avatar billede mcgoat Nybegynder
12. marts 2007 - 11:21 #1
Kan du ikke lave en funktion selv der kan teste det?
Avatar billede it-dyret Nybegynder
12. marts 2007 - 12:05 #2
Tjo, men det kræver lige, at jeg har en liste over de tegn, som ikke er tilladte :) Det er også et brugbart alternativ, men en eksisterende metode i Java API er som altid at foretrække...
Avatar billede jakoba Nybegynder
12. marts 2007 - 20:27 #3
Jeg vil anbafale at du fokuserer på tilladte tegn, og eftersom Java er et sprog der bruges sammen med mange filsystemer, vil det nok være en god ide at begrense det til de tegn der er tilladt allevegne:
  a-z, A-Z, 0-9, _
Avatar billede it-dyret Nybegynder
12. marts 2007 - 22:47 #4
Tak for buddet... Jeg lader spørgsmålet være åbent lidt endnu for at se, om der kommer andre bud.
Avatar billede arne_v Ekspert
14. marts 2007 - 02:30 #5
Jeg tror at det er umuligt at komme med en virkeligt god løsning.

Fordi et system kan have flere forskellige fil systemer.

ÆØÅ.dat kan være legal på et fil system og ikke på et andet. Er det så et tilladt
filnavn eller ej ?
Avatar billede it-dyret Nybegynder
14. marts 2007 - 10:20 #6
Som jeg læser jeres indlæg, så er den fælles mindstenævner at holde sig til "a-z, A-Z, 0-9, _".

Jeg havde håbet, at der var en mere finmasket løsning, men takker for at være blevet klogere. I må gerne begge smide et svar, hvor jeg vil give jakoba størstedelen for at være først på pinden, mens arne v får resten for at overbevise mig om rigtigheden af jakobas indlæg...
Avatar billede jakoba Nybegynder
14. marts 2007 - 21:25 #7
ok
Avatar billede arne_v Ekspert
15. marts 2007 - 00:03 #8
ok
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