2016-09-21 2 views
1

Bitte helfen Sie mir mit der Lösung. Ich teste das Herunterladen von Dateien verarbeiten und in @AfterClass cleanDirectory() auf MAC OSjava cleanDirectory() Wie man den Verzeichnispfad OS unabhängig macht

@AfterClass 
public static void clearDownloadDirectory() throws IOException{ 
    FileUtils.cleanDirectory(new File("/Users/irina/Downloads")); 
} 

Wie mit dem Downloads-Verzeichnis löschen, um die Downloads Verzeichnispfad Plattform machen unabhängig, so dass es auch für Windows funktionieren könnte?

Vielleicht bin ich auf der Suche nach der Antwort falsch. Hauptsache ich muss alle xlsx-Dateien aus dem Downloads-Ordner löschen.

+0

Wow ... als Entwickler würde ich sicherlich sauer sein, wenn ich ein Stück Software lösche, MY downloads Verzeichnis. Warum erstellen und löschen Sie kein temporäres Verzeichnis? – SJuan76

+0

Macht Sinn ... Ich muss nur herausfinden, wie man die Download-Dateien zu Temp-Ordner und nicht die Standard-wie in Chrome verwendet brobser – Iriny

+0

Ich lösche nicht die Downloads-Verzeichnis, lösche ich alle heruntergeladenen Dateien in es. – Iriny

Antwort

1

Je nach Ihrer App können Sie System.getProperty("os.name") verwenden.

Vielleicht mögen dieses

//... 
String url; 
switch(System.getProperty("os.name")) { 
    case "Windows 8.1": 
    case "Windows Vista": 
    //etc for all windows systems 
    { 
     url = "C:/Users/user_name/downloads..." 
     break; 
    } 
    case "Mac OS X": //... 
    case "SunOS": //... 
    case "Linux": //... 
    //etc all systems you want to support 
} 

EDIT

Auch System.getProperty("user.home") kann Ihnen helfen,

"user.home" User Home-Verzeichnis

Java System properties list

+0

Vielleicht gibt es eine Art Umgebungsvariable, so dass ich es im Pfad zum Ordner schreiben könnte? – Iriny

+0

Überprüfen Sie meine Bearbeitung und versuchen Sie nicht, Umgebungsvariablen zu verwenden. – Leolian

+0

Danke, werde versuchen, Ihre Variante – Iriny

Verwandte Themen