Just nu i M3-nätverket
Jump to content

Svenska tecken i Java, får fel


Bor0

Recommended Posts

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!

 

 

Link to comment
Share on other sites

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

 

 

Link to comment
Share on other sites

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?

 

 

 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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.

 

 

 

Link to comment
Share on other sites

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!

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...