Intereting Posts

Android: Как получить дату создания файла?

Это мой код:

File TempFiles = new File(Tempfilepath); if (TempFiles.exists()) { String[] child = TempFiles.list(); for (int i = 0; i < child.length; i++) { Log.i("File: " + child[i] + " creation date ?"); // how to get file creation date..? } } 

Solutions Collecting From Web of "Android: Как получить дату создания файла?"

Дата создания файла недоступна , но вы можете получить дату последнего изменения :

 File file = new File(filePath); Date lastModDate = new Date(file.lastModified()); Log.i("File last modified @ : "+ lastModDate.toString()); 

Дата создания файла не является доступной частью данных, открытой классом Java File . Я рекомендую вам переосмыслить, что вы делаете, и изменить свой план, чтобы он вам не понадобился.

Вот как я это сделаю

 // Used to examplify deletion of files more than 1 month old // Note the L that tells the compiler to interpret the number as a Long final int MAXFILEAGE = 2678400000L; // 1 month in milliseconds // Get file handle to the directory. In this case the application files dir File dir = new File(getFilesDir().toString()); // Obtain list of files in the directory. // listFiles() returns a list of File objects to each file found. File[] files = dir.listFiles(); // Loop through all files for (File f : files ) { // Get the last modified date. Milliseconds since 1970 Long lastmodified = f.lastModified(); // Do stuff here to deal with the file.. // For instance delete files older than 1 month if(lastmodified+MAXFILEAGE<System.currentTimeMillis()) { f.delete(); } } 

Существует альтернативный путь. Когда вы открываете файл в первый раз, сохраните дату lastModified, прежде чем изменять папку.

 long createdDate =new File(filePath).lastModified(); 

И тогда, когда вы закрываете файл,

 File file =new File(filePath); file.setLastModified(createdDate); 

Если вы это сделали, так как файл был создан, то вы будете иметь созданную дату как lastModified дату все время.