我想知道我是否可以使用 Java 获得这样的输出
这必须在 Linux、Windows 和 Mac 下工作;如果可能的话,我不喜欢使用Runtime.exec()
.
我认为您可以使用File
对象的元数据来获取所需的任何内容。检查以下链接:
http://docs.oracle.com/javase/tutorial/essential/io/fileAttr.html
例子:
Path file = ...;
BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class);
System.out.println("creationTime: " + attr.creationTime());
System.out.println("lastAccessTime: " + attr.lastAccessTime());
System.out.println("lastModifiedTime: " + attr.lastModifiedTime());
(这个例子取自我提供的链接)。
希望这可以帮助你
检查 Java API,我发现您需要的数据(大小、属性等)可以通过File
类方法访问。检查:http ://docs.oracle.com/javase/7/docs/api/java/io/File.html
请注意,linux 和 mac 都是类 Unix 系统,而 windows 不是。因此,您将无法获得在 Windows 中可以在 linux 或 mac 上获得的所有文件属性......但您可以获得最重要的值
不,您不能,因为您想要的输出具有 *nix-only 属性“所有者”和“组”,这在 Windows 平台上不存在。javaFile
没有这个信息,这将是不使用获取文件信息的唯一方法Runtime.exec()