bas*_*ter 1 java file filesize
我需要确定一个非常大的字符编码文件的大小.读取该文件需要花费大量时间.
我的理解是,当首次创建/修改文件时,大小会被缓存,因此操作系统可以在请求大小时(例如,文件管理器)快速检索该值.(例如,在win explorer中打开大文件的属性对话框时似乎很快)
假设以上情况属实,可以用Java检索吗?我原以为length()读取文件来确定大小......或者它实际上是否获得了这个缓存的大小?或者,File对象的创建是否会读取/检索缓存的大小?
我自己的研究还没有能够回答这些问题.
我理解我会得到一些帮助
谢谢
文件系统通常将长度存储为文件描述的一部分.这样OS就知道文件末尾的位置.访问时会缓存此信息.并且对该信息的重复调用也将是缓存.
注意:操作系统通常会从磁盘读取的数据超出您的要求.这是因为访问磁盘很昂贵而且内存相对便宜.例如,当您获得一个文件的长度时,它可能会在许多文件的详细信息中读取,假设您可能还需要有关这些文件的信息.即,第一次获得文件的信息时,它可能已经被缓存.
| 归档时间: |
|
| 查看次数: |
966 次 |
| 最近记录: |