我正在开发一个应用程序,它首先需要在运行任何操作之前检查可用的可用磁盘空间。我们已经设置了一些默认所需的空间限制,例如 512MB,所以如果任何工作驱动器没有超过 512mb 的空间,我的程序将提示可用的内存空间更少,请留出足够的空间来运行程序。
我正在使用以下代码。
long freeSpace = FileSystemUtils.freeSpaceKb() * 1024;
在这里,我首先将大小转换为字节,以与我们的标准所需大小进行比较。由于上述声明,我得到以下异常:
Error-Command line returned OS error code '3' for command [cmd.exe, /C, dir /-c "F:\MyApp\"]Stacktrace java.io.IOException: Command line returned OS error code '3' for command [cmd.exe, /C, dir /-c "F:\MyApp"]
at org.apache.commons.io.FileSystemUtils.performCommand(FileSystemUtils.java:506)
at org.apache.commons.io.FileSystemUtils.freeSpaceWindows(FileSystemUtils.java:303)
at org.apache.commons.io.FileSystemUtils.freeSpaceOS(FileSystemUtils.java:270)
at org.apache.commons.io.FileSystemUtils.freeSpaceKb(FileSystemUtils.java:206)
at org.apache.commons.io.FileSystemUtils.freeSpaceKb(FileSystemUtils.java:240)
at org.apache.commons.io.FileSystemUtils.freeSpaceKb(FileSystemUtils.java:222)...
操作系统返回的错误代码是“3”,这意味着它不是正常终止。
那么现在我该如何解决这个问题呢?
我还发现了 java 1.6 中可用的替代方法 -如何使用 Java 查找剩余的磁盘空间?
new File("c:\\").getFreeSpace();
---------------------------------
**More Details :**
---------------------------------
OS Architecture : amd64
Temp Dir : c:\temp\
OS Name : Windows 7
OS Version : 6.1 amd64
Jre Version : 1.6.0_45-b06
User Home : C:\Users\Tej.Kiran
User Language : en
User Country: US
File Separator : \
Current Working Directory : F:\MyApp\