楼上说的是对的,我贴一个我写的一个方法给你做参考。
/**
* 根据Linux命令获取磁盘的剩余空间,根据传入的参数size比较,如果大于size就返回ture,否则返回false
* @param command
* @param size
* @return
*/
public static boolean isAvailableOnLinux(String command ,Long size) {
//这里使用 df +文件夹路径 查看磁盘的信息
Long space=0L;
InputStreamReader ir = null;
LineNumberReader input = null;
Process process = null;
try {
//获取linux进程
process = Runtime.getRuntime().exec(command);
//新建流
ir = new InputStreamReader(process.getInputStream());
input = new LineNumberReader(ir);
String line;
int i = 1;
while ((line = input.readLine()) != null) {
if(i==2){
//使用正则表达式分隔字符串
String[]s=line.split("\\s+");
//第2行,第4列的值为该磁盘的可用空间大小
space=Long.parseLong(s[3]);
}
i++;
}
}
catch (java.io.IOException e) {
System.err.println("IOException " + e.getMessage());
}
finally{
//关闭流
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (ir != null) {
try {
ir.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
if(space>size){
return true;
}else{
return false;
}
}
Runtime.exec 。。。。。。。。。。。。。。。。。