java检测磁盘空间
2014-03-11 16:15
786 查看
package study.disk; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Locale; /** * 检查磁盘空间是否可用的线程 * djk * */ public class CheckDiskThread extends Thread { /** * 获得当前操作系统的名称 */ private static String osName = System.getProperty("os.name").toUpperCase(Locale.getDefault()); /** * 系统用户所在分区默认剩余空间 */ private static String diskAvail = "10240000"; /** * 是否启动 */ private boolean runFlag = true; @Override public void run() { if (!osName.startsWith("WINDOWS")) { while(runFlag) { BufferedReader breader = null; String diskInfo = null; String[] content = null; try { sleep(1000); String command = "df " + "/home/djk"; //执行查询磁盘空间命令 Process process = Runtime.getRuntime().exec(command); //获得执行命令的输入流 breader = new BufferedReader(new InputStreamReader(process.getInputStream())); //过滤无用信息 breader.readLine(); /** * 离线文件目录磁盘分区信息 * 第一种情况:本地磁盘 * Filesystem 1K-blocks Used Available Use% Mounted on * /dev/sda2 20972152 18964652 2007500 91% / * * 第二种情况:挂载磁盘 * Filesystem 1K-blocks Used Available Use% Mounted on * 10.70.136.21:/home/umlog * 41944384 17026880 24917504 41% /home/downbilldir */ diskInfo = breader.readLine(); if (null != diskInfo) { content = diskInfo.split("\\s+"); //保证取到磁盘"可利用的"空间信息 while (null != content && content.length < 3) { diskInfo = breader.readLine(); if (null != diskInfo) { content = diskInfo.split("\\s+"); } } } } catch (InterruptedException e1) { e1.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (null != breader) { try { breader.close(); } catch (IOException e) { } } } if (null != content && content.length >= 3) { //设置实际的磁盘剩余空间大小 setDiskAvail(content[3]); } } }else { System.out.println("not support windows os...."); } } public static String getDiskAvail() { return diskAvail; } public static void setDiskAvail(String diskAvail) { CheckDiskThread.diskAvail = diskAvail; } }
相关文章推荐
- linux文件归档 管理账户 磁盘空间大小检测
- Caused by: java.io.IOException: 磁盘空间不足。
- java 得到磁盘的可用空间
- windows下 c++ 检测磁盘可用空间
- 检测磁盘空间大小源码
- linux 磁盘空间检测
- java 得到磁盘的可用空间
- 通过java得到windows的磁盘空间大小
- Java获取磁盘空间的两种代码示例
- linux shell脚本检测硬盘磁盘空间 邮件报警
- java 磁盘 类型检测
- java获取磁盘空间大小
- java 获取磁盘空间
- java查看磁盘空间的两个版本
- vbs判断磁盘类型和检测硬盘剩余空间的实现代码
- 通过java得到windows的磁盘空间大小
- java查看windows的磁盘空间大小信息
- java.io.IOException: No space left on device,磁盘空间不足
- java.io.IOException: 磁盘空间不足
- 4000 /http.ser.gz (设备上没有空间) java.io.IOException: No space left on device,磁盘空间不足