AWT DnD von Dateien mit Sonderzeichen funktioniert unter Linux nicht

FerFemNemBem

Bekanntes Mitglied
Halloechen,

ich mache "pseudocodemaessig" folgendes:

Java:
ArrayList<File> fileList = new ArrayList((List)t.getTransferData(DataFlavor.javaFileListFlavor));
for(int i=0; i<fileList.size(); i++)
{
        {
            System.err.println("File: " + files.get(i).getAbsolutePath());
            System.err.println("canRead: " + files.get(i).canRead()); 
            System.err.println("exists: " + files.get(i).exists()); 
            System.err.println("isDirectory: " + files.get(i).isDirectory());
            System.err.println("isHidden: " + files.get(i).isHidden());
            System.err.println("isFile: " + files.get(i).isFile());
        }
}

Das funktioniert unter Windows mit Dateien mit und ohne Umlaute. Unter Linux sieht das dann bei Dateien mit Umlauten so aus:

File: /media/Transfer/mp3/Dziuks K%C3%BCche/Freche Tattoos auf blutjungen Bankiers/06 - Den ganzen Weg.mp3
canRead: false
exists: false
isDirectory: false
isHidden: false
isFile: false

bei Dateien ohne Umlaute korrekt so:

File: /media/Daten/Incoming/Weihnachtslieder/Queen - Thank God It's Christmas.mp3
canRead: true
exists: true
isDirectory: false
isHidden: false
isFile: true

Hat jemand 'ne Idee, Was da schief laeuft?

Danke!

Gruss, FFNB.
 
Halloechen,

ist zwar gemountet aber "nur" FAT32. Das ist meine "Transfer"-Partition, die ich aus kompatibilitaetsgrunden FAT32 formatiert habe. Die "Daten" Partition (mit dem Lied ohne Umlaute welches funktioniert) ist uebrigens NTFS.

Gruss, FFNB.
 
Halloechen,

ich antworte mir mal mit der Loesung selbst (falls mal jemand ein aehnliches Problem haben sollte). Wie es aussieht ("Dziuks K%C3%BCche") werden unter Linux die "TransferDatas" UTF8-URL-Encodet, was unter Windows nicht der Fall ist. Daher mach ich vor dem Verarbeiten einfach ein:

Java:
URLDecoder.decode(path, "UTF-8")
Gruss, FFNB.
 

Neue Themen


Zurück
Oben