Java - File getFreeSpace() 方法



描述

Java File getFreeSpace() 方法返回由该抽象路径名命名的分区中未分配的字节数。返回的未分配字节数并非保证。在调用此方法后,未分配字节的计数可能立即准确,但任何外部 I/O 操作都可能导致其不准确。

声明

以下是 java.io.File.getFreeSpace() 方法的声明:

public long getFreeSpace()

参数

返回值

此方法返回分区上的未分配字节。

异常

SecurityException - 如果存在安全管理器并且它拒绝 RuntimePermission("getFileSystemAttributes") 或其 SecurityManager.checkRead(String) 拒绝对此抽象路径名指定的的文件名进行读取访问。

示例 1

以下示例演示了 Java File getFreeSpace() 方法的用法。我们创建了一个 File 引用。然后,我们使用提供的路径中存在的 F:/test 目录创建了一个 File 对象。现在,使用 getFreeSpace() 方法,我们获取了分区中的未分配字节。

package com.tutorialspoint;
import java.io.File;
public class FileDemo {
   public static void main(String[] args) {      
      File f = null;
      long v;
      boolean bool = false;
      
      try {
         // create new file
         f = new File("F:\\test.txt");
         
         // get number of unallocated bytes
         v = f.getFreeSpace();
         
         // true if the file path exists
         bool = f.exists();
         
         // if file exists
         if(bool) {
         
            // prints
            System.out.print("number of unallocated bytes: "+v);
         }
         
      } catch(Exception e) {
         // if any error occurs
         e.printStackTrace();
      }
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

number of unallocated bytes: 163280998400

示例 2

以下示例演示了 Java File getFreeSpace() 方法的用法。我们创建了一个 File 引用。然后,我们使用提供的路径中存在的 C:/test 目录创建了一个 File 对象。现在,使用 getFreeSpace() 方法,我们获取了分区中的未分配字节。

package com.tutorialspoint;
import java.io.File;
public class FileDemo {
   public static void main(String[] args) {      
      File f = null;
      long v;
      boolean bool = false;
      
      try {
         // create new file
         f = new File("C:\\test");
         
         // get number of allocated bytes
         v = f.getFreeSpace();
         
         // true if the file path exists
         bool = f.exists();
         
         // if file exists
         if(bool) {
         
            // prints
            System.out.print("number of allocated bytes: "+v);
         }
         
      } catch(Exception e) {
         // if any error occurs
         e.printStackTrace();
      }
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

number of allocated bytes: 3958620160
java_file_class.htm
广告