Datei wird nicht richtig gelöscht

iL0ndi

Aktives Mitglied
Hallo Zusammen,
Ich versuche durch folgenden Code eine Datei zu löschen.
Auf dem Mac wird die Datei gelöscht, auf Windows jedoch nicht?!
Java:
public void fdelete() {
        File file = new File("test.txt");
        if(file.exists()){
            file.delete();
        }
        System.out.println("Datei gelöscht");
    }
Warum wird funktioniert es bei Windows nicht?
 
Java:
public void fdelete() {
        File file = new File(java.lang.System.getProperty("user.dir") + "/test.txt");
        if(file.exists()){
            file.delete();
        }
        System.out.println("Datei gelöscht");
    }

Geht auch nicht (bei Windows) ;(
 
funzt immer noch nicht?!
Win Pfad, der durch Java ausgegeben wird:
\\psf\Home\Desktop/tmpBrain.txt
mit
\\psf\Home\Desktop\tmpBrain.txt
gehts sowohl bei mac und bei Win nicht mehr...
 
Moin,

funzt immer noch nicht?!
Win Pfad, der durch Java ausgegeben wird:
\\psf\Home\Desktop/tmpBrain.txt
mit
\\psf\Home\Desktop\tmpBrain.txt
gehts sowohl bei mac und bei Win nicht mehr...
Ok, zu MAC kann ich nichts sagen ...

Aber unter WIN sollte es dann IMHO auch so lauten:
Java:
\\psf\\Home\\Desktop\\tmpBrain.txt
da Du den Backslash im String IMMER escapen musst !

Ist es denn der richtige Pfad?
Evtl. fehlt hier ja auch auch noch der LW-Buchstabe ...

Gruß
Klaus
 
das merkwürdige ist, dass manchmal die Datei gelöscht wird, und manchmal nicht. Gibt es eine andere Möglichkeit, den Text temporär zu speichern und anschliessend nach einem String zu durchsuchen und dann wieder zu löschen, als mit einer text Datei?!
 
1) man kann unter java grundsätzlich "/" nutzen, java setzt es unter windows eh korrekt um ... dadurch kann man sich konstrukte mit denen man auf windows prüft und dann extra "\" nutzt sparen, das kann man getrost java machen lassen

2) unterschiede unix<->windows sind nicht immer einfach ergründbar, vor allem wenn es dann noch um den sonderfall MAC geht, denn wie wir wissen hat ja auch mal microsoft für apple software geschrieben

3) mal von pfad und berechtigungen abgesehen : wie sieht es aus mit eventuell noch offenen streams ?
und auch die aussage das es mal geht und mal nicht hört sich nach multi-threading an
wir hatten im laufe der woche erst ein änliches thema -> mehr code !
es kann sein das einfach irgendwo noch ein handle offen ist der unter windows für einen LOCK sorgt was dann einfach mal das löschen verhindert, so nach dem motto : "datei kann nicht gelöscht werden > wird noch verwendet"
 

Neue Themen


Zurück
Oben