啥也不说了直接看代码
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 浏览本地硬盘文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)