Just nu i M3-nätverket
Gå till innehåll

Svenska tecken i Java, får fel


Bor0

Rekommendera Poster

Hej!

 

Har problem med lite kod som ska radera filer och mappar.

Fungerar bra så länge det inte handlar om filer vars namn innehåller svenska tecken.

 

Hur säkerställer jag så det alltid fungerar?

 

if (dir.isDirectory()) 
       {
           String[] children = dir.list();
           for (int i=0; i<children.length; i++) 
           {
               boolean success = deleteDir(new File(dir, children[i]));
               if (!success) 
               {
                   return false;
               }
           }

       }

 

dir.isDirectory ger fel värde om en mapp innehåller svenska tecken...

 

Tacksa för hjälp!

 

 

Länk till kommentar
Dela på andra webbplatser

hejsan

varför måste du ange namn på filer o mappar ?

jag tycker du kan sätta numeriskt värde på filer o mappar när man skriver in namnet

 

så här

hejsan.xxx få värd id=1

mapp.xxx få värd id=2

 

 

Länk till kommentar
Dela på andra webbplatser

varför måste du ange namn på filer o mappar ?

Hur menar du?

 

Mapparna som jag försöker radera skapas automatiskt efter viss ID som i vissa fall kan innehålla svenska tecken. Dumt att det är på det viset men det är tyvärr min utgångspunkt.

 

Koden ska radera en mapp om den inte innehåller några filer och om mappen innehåller någon av svenska tecknen så blir dir.isDirectory() false.

 

Vad kan man göra i dessa fall?

 

Mappens namn skickas in som argument. Kan man se till att argumentet kommer in i rätt form eller att det omvandlas till Svenska tecken?

 

 

 

Länk till kommentar
Dela på andra webbplatser

jaså varför skicka du in namn argumnent

när kan du skicka in numeriskt värdet till funktionen och namnet kan skicka till en lista som innehåller

namn och det nya numeriskt värdet.

 

som du kan ta bort och lägg till

 

det nya numeriskt värdet få man av det sista id nummer + 1 när man skriver in namn

 

jag antal inte det har nån betydelse om filen heter 1 när på skärmen står det hej.txt

 

Länk till kommentar
Dela på andra webbplatser

Hej,

Jag tippar på att du använder en felaktig teckenuppsättning (encoding) för Java. Om du ändrar till UTF8 eller UTF16 i inställningarna för din JDK eller din applikationsserver (beroende på vad du änvänder) borde du kunna använda svenska tecken.

 

Pröva att googla efter encoding java och eventuella appserver så hittar du säkert något vettigt.

 

Mvh

Jonas

 

Länk till kommentar
Dela på andra webbplatser

Jag har letat efter hjälp på webben och hittat en del om Encoding dock

vet jag inte hur jag ska implementera det.

 

Jag har sett att man kan ange det som argument vid körning och att man kan lägga in det i koden.

Jag har försökt lägga in det i koden utan resultat.

In en projekts inställningar kan man ange Encoding i Netbeans men det ger ingenting.

 

Har ioff bara testat med URF-8 och 16. ISO8XXX

 

Någon som har erfarenhet?

Det har tyvärr inte jag :)

 

Det hade varit enkelt om jag inte hade mappar innehållande svenska tecken men det är svårt att ändra nu tyvärr.

 

 

 

Länk till kommentar
Dela på andra webbplatser

Jag har hittat felet!

 

Det berodde in på Java utan själva anropet.

 

Jag kunde inte skicka in C:\tmp\ÖB____ som anrop utan var tvungen

att konventera argumentet till LAT1.

 

Tackar för hjälpen!

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...