java获得当前系统内存及硬盘使用情况

java获得当前系统内存及硬盘使用情况,第1张

啥也不说了直接看代码

import java lang management ManagementFactory;

import sun management OperatingSystemMXBean;

public class Test {

public static void main(String[] args) {

OperatingSystemMXBean o b = (OperatingSystemMXBean) ManagementFactory getOperatingSystemMXBean();

System out println( 系统物理内存总计 + o b getTotalPhysicalMemorySize() / / + MB );

System out println( 系统物理可用内存总计 + o b getFreePhysicalMemorySize() / / + MB );

}

}

ManagementFactory getOperatingSystemMXBean()返回的是java lang management里面的OperatingSystemMXBean

我们要用的是 sun management OperatingSystemMXBean;

在java类库中可以查到

public abstract Interface sun management OperatingSystemMXBean extends java lang management OperatingSystemMXBean

所以我们可以强制转换一下

jdk 下的磁盘使用情况例子:

import java io File;

/

jdk 下的磁盘使用情况例子

/

public class Diskfree {

public static void main(String[] args) {

File[] roots = File listRoots();//获取磁盘分区列表

for (File file : roots) {

System out println(file getPath() + 信息如下: );

System out println( 空闲未使用 = + file getFreeSpace() / / / + G );//空闲空间

System out println( 已经使用 = + file getUsableSpace() / / / + G );//可用空间

System out println( 总容量 = + file getTotalSpace() / / / + G );//总空间

System out println();

}

}

lishixinzhi/Article/program/Java/hx/201311/26599

java中可以使用file对象,获取当前电脑硬盘基本信息,示例如下:

import javaioFile;

 

public class DiskSpaceDetail {

 

    public static void main(String[] args) {

 

        File diskPartition = new File("C:");

 

        long totalCapacity = diskPartitiongetTotalSpace(); 

 

        long freePartitionSpace = diskPartitiongetFreeSpace(); 

        long usablePatitionSpace = diskPartitiongetUsableSpace(); 

 

        Systemoutprintln(" Sizes in Mega Bytes \n");

 

        Systemoutprintln("Total C partition size : " + totalCapacity / (10241024) + " MB");

        Systemoutprintln("Usable Space : " + usablePatitionSpace / (1024 1024) + " MB");

        Systemoutprintln("Free Space : " + freePartitionSpace / (1024 1024) + " MB");

 

        Systemoutprintln("\n Sizes in Giga Bytes \n");

 

        Systemoutprintln("Total C partition size : " + totalCapacity / (102410241024) + " GB");

        Systemoutprintln("Usable Space : " + usablePatitionSpace / (1024 10241024) + " GB");

        Systemoutprintln("Free Space : " + freePartitionSpace / (1024 10241024) + " GB");

    }

}

只是获取某个路径下的文件夹?

可以用File里面的listFiles() 方法获取到该路径下的所有File对象的数组引用

如果想用类似于windows中的打开、保存那样的对话框可以调用

JFileChooser类

问了一下我远标出来的程序员哥们,她说,你看下对不对

swing下的包,javaxswingfilechooserFileSystemView;可以获取:

FileSystemView fileSys=FileSystemViewgetFileSystemView(); //获取当前系统文件类型

//获取系统的所有盘符或系统卷类型

for(File f:FilelistRoots()){

Systemoutprintln(fileSysgetSystemDisplayName(f));//获取系统卷标及名字

Systemoutprintln(fileSysgetSystemTypeDescription(f));//获取系统卷的类型

Systemoutprintln(fgetTotalSpace());//获取该卷大小(单位:字节)

Systemoutprintln(fgetFreeSpace());//获取该卷可用大小(单位:字节)

}

package comtexst;

import javaioFile;

import javaioFileInputStream;

import javaioFileNotFoundException;

import javaioIOException;

public class GetFileMessageOfDisk {

/

@param args

/

public static void main(String[] args) {

File file = new File("D:/");

getMessage(file);

}

private static void getMessage(File file){

File[] files = filelistFiles();

if(files==null){

files = new File[0];

}

for(int i=0;i<fileslength;i++){

if(files[i]isDirectory()){

Systemoutprintln(files[i]getPath());

getMessage(files[i]);

}else{

try {

int length = new FileInputStream(files[i])available();

Systemoutprintln(files[i]getName()+" 长度:"+length+" 大小:"+length/1024+"KB");

} catch (FileNotFoundException e) {

eprintStackTrace();

} catch (IOException e) {

eprintStackTrace();

}

}

}

}

}

你可以从request中获取到他工程的根路径 然后再加上你自己的upload文件夹和里面的具体文件的路径就可以了

例如:requestgetServletContext()getRealPath("/"),可以取到根路径,即工程的名称那个文件夹的路径,然后后面怎么写你应该就知道了

file 的list()或listFiles()读出文件路径和名字,再用InputStream读取源文件。 以下是我学习JSP书中的例子,供你参考:

<br>从d:/file1txt文件中逐字节读取数据为:<br>

<%

InputStream ino=new FileInputStream("d:/file1txt");

int size=inoavailable();

for(int i=0;i<size;i++){outprint((char)inoread());}

inoclose();

%>

<br>从d:/file2txt文件中利用字节数组读取数据为:<br>

<%

InputStream in1=new FileInputStream("d:/file2txt");

in1read(buf);

outprint(new String(buf));

in1close();

%>

<br>从d:/file3txt文件中利用字节数组读取指定数据为:<br>

<%

InputStream in2=new FileInputStream("d:/file3txt");

int size1=in2available();

byte buf1[]=new byte[size1];

in2read(buf1,0,20);

outprint(new String(buf1));

in2close();

%>

以上就是关于java获得当前系统内存及硬盘使用情况全部的内容,包括:java获得当前系统内存及硬盘使用情况、Java如何获得硬盘剩余空间、Java 浏览本地硬盘文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9421400.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存