问题描述
getFreeSpacepublic long getFreeSpace()返回此抽象路径名指定的分区中未分配的字节数。 返回的未分配字节数是一个提示,而不是一个保证,只能使用这些字节的一部分。未分配字节数很可能在此调用后立即与实际相符。某些外部 I/O 操作可能使其与实际不符,这些操作包括那些在此虚拟机外部系统上进行的操作。此方法不保证对此文件系统的写操作将成功。 返回:分区上的未分配字节数;如果抽象路径名没有指定分区,则返回 0L。返回值将小于等于 getTotalSpace() 返回的总文件系统大小。 抛出: SecurityException - 如果安装了安全管理器,并且安全管理器拒绝 RuntimePermission("getFileSystemAttributes"),或者其 SecurityManager.checkRead(String) 方法拒绝对此抽象路径名指定的文件进行读访问从以下版本开始: 1.6 问题补充:suziwen 写道
解决方案
你现在用的是WINDOW的包看他的源码吧,你试试下载个LINUX的JDK包,看他的filesystem的源码
解决方案二:
应该是可以计算 出来的,但看别人讨论好像这个功能还有些BUG,不知道最新的JDK修复 了没一般LINUX的大小也是能计算出来的
时间: 2024-08-01 18:31:31