gpt4 book ai didi

java - 文件大小缓存和 Java 中文件大小的高效检索

转载 作者:行者123 更新时间:2023-11-29 09:38:27 25 4
gpt4 key购买 nike

我需要确定一个非常大的字符编码文件的大小。读取文件需要花费大量时间。

我的理解是,当文件首次创建/修改时,其大小会被缓存,因此当文件管理器请求大小时,操作系统可以快速检索该值。 (例如,在 win explorer 中打开大文件的属性对话框时似乎很快)

假设以上为真,这可以用 Java 检索吗?我以为length()读取文件以确定大小......或者它实际上是否获得了这个缓存大小?还是创建 File 对象来读取/检索缓存大小?

我自己的研究还不能回答这些问题。

如果能对我的理解有所帮助,我将不胜感激

谢谢

最佳答案

文件系统通常将长度存储为文件描述的一部分。这样操作系统就知道文件的结尾在哪里。此信息在访问时被缓存。并且对这些信息的重复调用也会被缓存。

注意:操作系统通常会从磁盘读取比您要求的更多的数据。这是因为访问磁盘很昂贵,而内存相对便宜。例如当您获得一个文件的长度时,它可能会读取许多文件的详细信息,前提是您可能也需要有关这些文件的信息。即,您第一次获取文件信息时,它很可能已经被缓存了。

关于java - 文件大小缓存和 Java 中文件大小的高效检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5884035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com