Я пытаюсь создать простую программу, которая проверяет, был ли файл создан старше, чем сегодня, и удаляет этот файл, чтобы создать новый.Но метод creatNewFile воссоздает файл со свойствами старых (удаленных) файлов.Например, новый файл также имеет дату создания вчера.
Что я здесь не так делаю?
private File createFile() {
logger.trace("Entering createFile method ");
File trackerFile = new File("tracker.txt");
if (!trackerFile.exists()) {
try {
logger.debug("File does not exist . New file being created ");
trackerFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
} else {
try {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String dateCreated = df.format(this.getCreationTime(trackerFile).toMillis());
logger.debug("File exists file creation time is {}" , dateCreated);
Calendar currCalendar = Calendar.getInstance();
Calendar fileCreateCalendar = Calendar.getInstance();
fileCreateCalendar.setTime(df.parse(dateCreated));
if (currCalendar.get(Calendar.DAY_OF_MONTH) > fileCreateCalendar.get(Calendar.DAY_OF_MONTH)) {
logger.debug("File exists file not created today , being deleted");
trackerFile.delete();
trackerFile.createNewFile();
}
} catch (ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
logger.trace("Exiting createFile method ");
return trackerFile;
}
Пожалуйста, ознакомьтесь с этим простым фрагментом кода ... файл создан, удален и затем воссоздан.Файл, созданный в конце, имеет дату создания, которая совпадает с первым файлом, который был удален.Как это происходит?
public class CreateTempFile {
public static void main(String[] args) {
try {
File file = new File("test.txt");
file.createNewFile();
file.delete();
File newFile = new File("test.txt");
newFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}