как получить свободное пространство unc-пути в коде Java?

#java #file

#java #файл

Вопрос:

Я хочу знать свободное место в пути UNC (сетевой путь, такой как server foldername), используя java. Я нашел образец, позволяющий узнать свободное место на локальном диске:

 import java.io.File;  

public class GetFreeSpace  {  
    public static void main(String[] args){  
        File file = new File("C:\Hello.txt");  
        long value = file.getFreeSpace();  
        System.out.println("Total free space available in the file is " value " B");  
   }  
}
  

Но это не работает для UNC-пути.

Ответ №1:

Будьте осторожны, потому что File.getFreeSpace() было введено в Java 6, что означает, что ваше приложение не будет выполняться на более ранних платформах.

Что касается вашего вопроса, JVM может предоставить вам место для любого UNC-пути (читайте здесь). Я думаю, вы просто пропустили, чтобы избежать люфтов в File конструкторе. Вот пример использования:

 System.out.println(new File("\\192.168.0.1\share").getFreeSpace());
  

возвращает количество байтов 9996869632 .