2016-10-13 7 views
-6

Ich versuche zu überprüfen, ob eine Hashmap-Datei existiert. Die Datei wird erstellt und in meinem Standardpaket in Eclipse angezeigt. Wenn es existiert werde ich in der Hashmap lesen, wenn es nicht will ich eine neue Datei erstellen. Derzeit sieht der Code die erstellte Datei aus irgendeinem Grund nicht.Überprüfen, ob die Datei existiert Java

public UrlCache() throws UrlCacheException { 
    File hmFile = new File(System.getProperty("user.dir") + "\\hashMapFile.properties"); 
    System.out.println("Working Directory = "+ hmFile); 


    if(hmFile.exists()) { 
     System.out.println("File Exists"); 
    } 
    else{ 
    System.out.println("File does not exist"); 
    } 
} 
+0

Ich denke, dass Sie "Standard-Paket in Eclipse" unterscheidet sich von "System.getProperty (" user.dir ")' – Jens

Antwort

2

Sie brauchen nicht explizit zu überprüfen, ob Datei mithilfe exists() Methode CreateNewFile() -Methode wird es tun existiert oder nicht,

CreateNewFile() wird eine neue Datei erstellen, wenn es nicht der Fall ist existieren und true zurück, aber wenn die Datei CreateNewFile exists() wird return false

File f = new File(System.getProperty("user.dir") + "\\hashMapFile.properties"); 
if(f.createNewFile()) { 
    System.out.println("Created new Hashmap file"); 
} 

Wir nicht die sonst Teil hier schreiben, weil es keine Notwendigkeit entsprechend der Anforderung ist, dass Sie erwähnt haben.

+0

2 Probleme. Es scheint eine IOException für f.createNewFile() zu erfordern, die dann auch erfordert, dass es in die Hauptklasse geworfen wird, wenn ich es hinzufüge. Das zweite Problem ist, dass es einfach nicht funktioniert. Keine Datei wird erstellt. –

+0

Während der Arbeit mit IO müssen Sie einige Ausnahmen behandeln, um negative Szenarien zu behandeln. Für Ihr zweites Problem sollten Sie nach dem Pfad suchen, auf dem Sie versuchen, die Datei hashMapFile.properties zu speichern, die möglicherweise falsch ist. Versuchen Sie einfach, einen fest codierten Pfad wie Datei f = new File ("/ home/local/naresh. j "+" /hashMapFile.properties ") –

Verwandte Themen