1

如何使用 Java 从文件系统中的文件或目录内容中读取文件信息(例如大小、行数、上次修改等)?我目前在linux操作系统上工作。请特别针对Linux OS提出一些想法。

提前致谢。

4

3 回答 3

2

对于它的价值,“行数”不是 UNIX 或 Linux 中的文件属性。

如果你想要一个行数(假设它是一个有效的概念),你需要通过阅读文件来弄清楚。简单地计算换行符可以为“文本”文件提供大致正确的答案,但在其他情况下可能会给出虚假的答案。完整的答案包括:

  • 确定文件的类型,
  • 决定“行数”是否对文件类型有意义,
  • 决定是计算行数还是从文件的内部元数据中检索行数,以及
  • (如有必要)以适合文件类型的方式计算行数。

您列出的其他属性(文件大小和修改时间)可以在 Java 中使用经典java.io.FileAPI 或新的 Java 7 java.nio.file.FilesAPI 进行访问。

于 2010-05-29T03:02:04.720 回答
1

尝试查看 File api。有很多方法,例如“lastModified”、“length”,以及您应该需要的大部分方法。

于 2010-05-29T02:42:23.470 回答
1

使用 File 类(行数除外- 请参阅此 Q/A

java.io.File.length()

最后修改()

此外,如果您可以让您的 Java 程序进行系统调用,您可以使用 Unix 的wc -l命令为您计算行数 - 可能比 Java 更快,但会花费您一个衍生进程

于 2010-05-29T02:42:38.260 回答