`
huangyunzeng
  • 浏览: 30481 次
  • 性别: Icon_minigender_1
  • 来自: 秦皇岛
社区版块
存档分类
最新评论

java查看磁盘空间的两个版本

    博客分类:
  • Java
阅读更多

以下两个java类在windows7上测试通过。

1、给出jdk1.5版本的。

package test;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class SpaceChecker {
	public static void main(String[] args) {
		String os,command,line,spaceSpliter="";
		Process process=null;
		try {
	        os = System.getProperty("os.name");//获取当前操作系统,不同的系统的命令可能不同,可以根据该值采取不同的策略。
			command = " wmic LogicalDisk where \"Caption='D:'\" get FreeSpace,Size";//这里以D盘为例
			Runtime runtime = Runtime.getRuntime();
			process = runtime.exec(command);
			process.waitFor();
			BufferedReader in = new BufferedReader(new InputStreamReader(
					process.getInputStream()));
			int counter = 0;
			while ((line = in.readLine()) != null) {
				counter++;
				if (counter == 3)//第三行是需要的数据
					break;
			}
			process.destroy();
			line = line.trim();
			for(int i=0;i<line.length();i++){
				if (line.substring(i, i+1).equals(" ")) spaceSpliter+=" ";
			}
			String[] items = line.split(spaceSpliter);//中间是n个空格
			long freeBytes = Long.parseLong(items[0]);
			long totalBytes = Long.parseLong(items[1]);
			System.out.println("freeSpace:"+freeBytes/1024/1024/1024+"G");
			System.out.println("size:"+totalBytes/1024/1024/1024+"G");
		} catch (Exception exception) {
			exception.printStackTrace();
		}
	}
}

 

2、给出1.6版本的。

import java.io.File;
 
 public class SpaceChecker {
     public static void main(String[] args) {
         File[] roots = File.listRoots();
         for (File _file : roots) {
             System.out.println(_file.getPath());
             System.out.println("Free space = " + _file.getFreeSpace());
             System.out.println("Usable space = " + _file.getUsableSpace());
             System.out.println("Total space = " + _file.getTotalSpace());
         }
     }
 }

 

分享到:
评论

相关推荐

    Java获取磁盘空间的两种代码示例

    在Java编程语言中,获取磁盘空间信息是常见的系统管理任务之一。这通常是通过使用`java.io.File`类提供的方法来实现的。...通过理解并灵活运用这两个示例,你可以根据项目需求构建更复杂的磁盘空间管理功能。

    Linux命令查看java版本

    例如,文件`example.txt`与`Example.txt`被视为两个不同的文件。 2. **移动文件**:`mv .*.swp 123.bak`表示将当前目录下所有以`.`开头、后缀为`.swp`的文件移动到名为`123.bak`的新文件或目录中。 3. **性能监控...

    Java获取磁盘大小

    这个过程通常分为两步:获取磁盘的总容量和获取磁盘的已用空间。以下是对这些知识点的详细阐述: 1. **磁盘总容量获取** Java提供了一个名为`java.io.File`的类,其中的`getTotalSpace()`方法可以用来获取磁盘的总...

    获得磁盘剩余空间(9KB)

    1. `modvbworld.bas` 和 `ModFreeSpace.bas`:这是两个Basic语言的模块文件,其中可能包含了获取磁盘空间的函数或过程。 2. `DiskFreeSpace.exe`:这是一个可执行文件,可能就是完成磁盘空间查询功能的程序本身,...

    操作系统磁盘空间管理

    操作系统磁盘空间管理是计算机系统中的重要组成部分,它负责有效地分配和管理硬盘驱动器上的存储资源,确保数据的高效存取。在这个过程中,有两种主要的数据结构和技术被广泛使用:成组链接和索引结构。 首先,成组...

    JAVA中获取硬盘序列号源码

    创建一个Java接口,声明C语言中的函数原型,例如`Win32FindDataW`和`GetDiskFreeSpaceExW`,这两个函数分别用于获取硬盘信息和检查磁盘空间。如下所示: ```java import com.sun.jna.platform.win32.*; public ...

    Java获取系统信息(cpu,内存,硬盘,进程等)的相关方法.pdf

    通过使用这两个类,可以获取系统的内存使用情况、物理内存大小、操作系统版本、线程总数等信息。例如: ```java import java.io.*; import com.sun.management.OperatingSystemMXBean; import sun.management....

    java电话本IO版本

    Java电话本IO版本是一个利用Java输入输出(IO)技术实现的简单电话本应用程序。这个程序可能涉及了文件读写、对象序列化等IO核心概念,用于存储和检索联系人信息。在Java中,IO框架提供了丰富的类库来处理数据的输入...

    java开发的一个windows的远程监控软件

    - **Swing或JavaFX**:这两个是Java的GUI(图形用户界面)框架,用于创建应用程序的用户界面。 - **网络编程**:使用Java的Socket编程来实现远程通信。 - **多线程**:在处理多个并发任务时,如监控多个目标系统,多...

    空闲磁盘存储空间的管理:简单方法

    总结来说,这个课程设计项目旨在通过模拟不同磁盘空间管理策略,帮助学生理解操作系统的内部工作原理,特别是磁盘空间的分配与回收机制。通过位示图法和成组链接法等具体方法的实现,可以提升对软件开发方法的理解和...

    java语言实现磁盘扇区管理

    每个扇区包含一个唯一的编号(id),两个指针(left和right)分别指向相邻的扇区,以及一个value字段表示该扇区所属的分区。同时,使用SectorList类来存储和管理多个扇区,提供增加扇区(add())的方法。Action类则...

    linux磁盘空间不足怎么办,磁盘清理方法.docx

    可以将两个分区连接起来,释放磁盘空间。 8. 找出耗费大量的空间的进程 知识点:进程管理、空间占用 可以使用不同的应用程序来找到耗费大量的空间的进程,例如:#ps aux | grep java。可以找到占用空间的进程并对...

    JavaMelody JAVA Web项目服务器性能监控工具

    通常只需要在web.xml配置文件中添加相关的监听器和过滤器,然后在你的项目中引入javamelody-1.37.0.jar和jrobin-1.5.9.jar这两个依赖库。jrobin是JavaMelody用来存储和读取监控数据的持久化组件,支持多种数据存储...

    java上传文件jar

    标题提到的"java上传文件jar"实际上指的是两个关键的Java库,它们是Apache Commons IO和Apache Commons FileUpload。这两个库提供了强大的文件操作和文件上传功能,是Java开发者处理文件上传问题的得力助手。 首先...

    vsk远程监控java版本

    在这个项目中,Java程序可能监听特定的网络端口,等待来自客户端的请求,然后收集和发送系统性能数据,如CPU使用率、内存占用、磁盘空间等。 6. **Socket编程**:Java的Socket类是实现远程监控的关键,它允许服务器...

    java做的清除SVN的小程序

    - `swing` 和 `awt`:这两个是Java图形用户界面(GUI)库。AWT(Abstract Window Toolkit)是早期的GUI库,而Swing是在AWT之上的更高级别组件,提供了更丰富的功能和更好的外观。在这个上下文中,它们可能被用来创建...

    java_8_64.zip

    主要的两个环境变量是`JAVA_HOME`,它指向JDK的安装目录,以及`Path`,需要添加JDK的bin目录,这样命令行就可以识别并执行JDK中的命令。 总的来说,"java_8_64.zip"是一个为64位系统设计的JDK安装包,它提供了一...

    java8 32位 64位 jdk8 最新下载地址

    根据题目中提供的信息,我们有以下两个下载链接: - **64位JDK 8 u152官方最新版**:文件大小为204.7MB,下载地址为: - **32位JDK 8 u152官方正式版**:文件大小为196.8MB,下载地址为: 在下载和安装过程中,请...

    表 占用磁盘空间查询

    1. **`sysobjects`与`sysindexes`表**:这两个系统表包含了数据库中所有对象的信息。`sysobjects`存储了所有对象的基本信息,而`sysindexes`则包含了关于索引的信息。 2. **`sp_spaceused`系统存储过程**:此存储...

    磁盘阵列配置教程非常实用

    - **RAID 5E**:类似于RAID 5,但包含内置热备份盘,可以容忍两块硬盘故障,空间利用率降低为(N-2)/N。 3. **软件环境**: 配置过程中,用户可以通过MINI ServerRaid配置界面监控阵列状态,如物理盘和逻辑盘的...

Global site tag (gtag.js) - Google Analytics