如何使用 Java 从文件系统中的文件或目录内容中读取文件信息(例如大小、行数、上次修改等)?我目前在linux操作系统上工作。请特别针对Linux OS提出一些想法。
提前致谢。
对于它的价值,“行数”不是 UNIX 或 Linux 中的文件属性。
如果你想要一个行数(假设它是一个有效的概念),你需要通过阅读文件来弄清楚。简单地计算换行符可以为“文本”文件提供大致正确的答案,但在其他情况下可能会给出虚假的答案。完整的答案包括:
您列出的其他属性(文件大小和修改时间)可以在 Java 中使用经典java.io.File
API 或新的 Java 7 java.nio.file.Files
API 进行访问。
尝试查看 File api。有很多方法,例如“lastModified”、“length”,以及您应该需要的大部分方法。
使用 File 类(行数除外- 请参阅此 Q/A)
java.io.File.length()
此外,如果您可以让您的 Java 程序进行系统调用,您可以使用 Unix 的wc -l
命令为您计算行数 - 可能比 Java 更快,但会花费您一个衍生进程