2013-07-05 26 views
5

Cách nhận ngày tạo tệp trong Android. Tôi biết về file.lastModified(), nhưng tôi thực sự cần ngày tạo, bạn có thể thấy trong OS Windows trong Properties của file.Ngày tạo tệp trong android

Nếu ai đó biết giải pháp của tác vụ này, vui lòng viết nó bên dưới thông báo này. Cảm ơn!

Trả lời

4

Ngày tạo không được hỗ trợ bởi mọi hệ điều hành. Đó là lý do tại sao Java không có phương thức để lấy ngày tạo tệp. Tôi cũng gặp vấn đề này gần đây.

Điều tôi đã làm là thêm dấu thời gian làm phụ lục cho tệp.

File f = new File("myFile-" + System.currentTimeMillis()); 

Khi bạn tìm tệp, bạn sẽ có thể trích xuất phụ lục và chuyển đổi thành ngày để tìm ngày tạo.

String fileName = f.getName(); 
String[] split = fileName.split("-"); 
long timeStamp = 0; 

try { 
    timeStamp = Long.parseLong(split[1]); 
} catch(NumberFormatException nfe) { 
    nfe.printStackTrace(); 
} 

System.out.println("Creation date for file " + f + " is " + new Date(timeStamp)); 
+0

Thực ra, tôi cần ngày tạo để bảo vệ bản sao cho tệp, vì vậy giải pháp này không phù hợp với tôi. –

-1

tôi tìm ra giải pháp của câu hỏi của tôi, có thể là một ai cần nó: Bạn có thể lấy ngày tạo qua thực hiện lệnh bash hoặc kịch bản như mô tả here

stat <filepath> 

Đối với thực hiện kịch bản từ android:

p = Runtime.getRuntime().exec("stat " + /mnt/sdcard01/somefile); 
p.waitFor(); 

BufferedReader reader = 
    new BufferedReader(new InputStreamReader(
p.getInputStream())); 
String line = reader.readLine(); 
while (line != null) { 
line = reader.readLine(); 
} 
+1

Trong blog bạn chia sẻ tác giả đã thừa nhận trong nhận xét rằng 'Thời gian tạo' là lỗi chính tả và Linux/Unix không hỗ trợ thời gian tạo. –

Các vấn đề liên quan