Given a java.io.File
that represents a .exe
file, how can I discover the file attributes - for example: size and date created, and how could I discover the data in the executable properties - for example: file version?
相关问题
- Delete Messages from a Topic in Apache Kafka
- Jackson Deserialization not calling deserialize on
- How to maintain order of key-value in DataFrame sa
- StackExchange API - Deserialize Date in JSON Respo
- Difference between Types.INTEGER and Types.NULL in
If you want the version of an executable file then that is almost impossible to do in the general case as there is no standard way of versioning the files (within that file format).
The other information should be easy to get. Checkout this answer: How to discover a File's creation time with Java?
Just calling several File class getters... Check the javadocs for the File class and look at this tutorial: http://docs.oracle.com/javase/tutorial/essential/io/fileAttr.html
Presumably you're referring to NTFS Extended Attributes here, and it's only recently (as of Java SE 7) that you've been able to get at these without some kind of windows specific JNI hackery. This should be doable with the new NIO2 file attributes interface. Some of these attributes, such as size, are basic attributes, while others such as version are "user" attributes.
Probably the best page with examples that explains the use of this API is at http://www.ibm.com/developerworks/java/library/j-nio2-2/ -- search down for "File attributes" if you're not interested in the examples of the other APIs.
Look at the
java.io.File
class. It has methods likecanExecute()
,length()
.Creation date: Read this post.
Efficient way to get the file size: java get file size efficiently