【问题标题】:File size without opening the file [duplicate]不打开文件的文件大小[重复]
【发布时间】:2011-11-03 08:45:44
【问题描述】:

是否有任何方法可以确定文件的大小而无需打开它,如 Java 平台 API(没有第 3 方库)中提供的那样?此外,我需要 64 位大小(我假设 Java 一开始就提供)。

【问题讨论】:

标签: java filesystems


【解决方案1】:

是的,在 File 对象上调用 .length() 将返回其大小(以字节为单位)。

【讨论】:

  • 不过,这需要先构造一个对象来打开文件;或者至少我是这么认为的,对吗?
  • @Bohemian,语法纳粹!开个玩笑,我正要自己修复它。
  • 是的,你需要new File(...)
  • @Spliff File 对象是一个抽象路径名。实际上,它是一个包装字符串的实用程序类。无需打开文件。
  • @Spliff,构造File 对象没有显着的开销。当您调用new file() 时,Java 不会开始读取文件内容。 .length() 返回文件系统报告的大小。
【解决方案2】:

long File.length()File 对象通常表示路径,而不是打开的文件。

【讨论】:

  • 没有“通常”的意思。
【解决方案3】:

在不为特定文件构造任何对象的情况下,如何使用文件类的属性。 打开文件意味着您正在以兼容的格式(.txt/.bmp/.pdf 等)解码文件数据。 所以你必须先

File file=new File("File Name");

文件名-->要处理的文件的文件名。 然后使用 file.length();

在这种现象中,您没有打开任何文件,您只是传递文件的引用(地址)并检索其大小。 而已。 我希望这对你有益。

【讨论】:

    猜你喜欢
    • 2012-02-17
    • 2010-09-21
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多