2016-08-03 25 views
3

Warum Dateiumbenennung fehlschlägt?Dateiumbenennung schlägt fehl

Mein Betriebssystem ist Windows 7 und Ordner C:/test/dfhsdfhs existiert im Dateisystem.

Mein Code:

String path = "C:/test/dfhsdfhs/test2.txt"; 

boolean hasDeleteFolder = true; 

File delFile = new File(path); 
if (delFile.exists()) { 

    if (hasDeleteFolder == true) { 

     Date dateTimeNow = new Date(); 
     String _dateTimeNowStr = dateTimeNow.toString(); 
     _dateTimeNowStr = _dateTimeNowStr.replace(" ", "_"); 
     File timeStampFile = new File (delFile.getAbsolutePath() + "_" + _dateTimeNowStr + "." + FilenameUtils.getExtension(delFile.getName())); 

     if (delFile.renameTo(timeStampFile)) { 

      System.out.println("renamed"); 
      } else { 
      System.out.println("Error"); 
      } 
    } 
} 
+2

Was meinst du mit "fehlschlägt"? Haben Sie einen Fehler oder was? – Blobonat

Antwort

6

Es schlägt fehl, da Ihre Zeitstempel Zeichenfolge : Zeichen enthält, die nicht mit Windows-Betriebssystem erlaubt. Ersetzen Sie sie und es wird funktionieren.

_dateTimeNowStr = _dateTimeNowStr.replace(":", "_"); 
+0

Vielen Dank! – IlyaGutnikov