如何使用Java獲取PC的RAM大小和硬盤大小?是否有可能通過Java獲取PC上當前記錄的用戶名?如何使用Java獲取Ram大小和硬盤大小?
回答
磁盤大小:
long diskSize = new File("/").getTotalSpace();
用戶名:
String userName = System.getProperty("user.name");
我不知道的一種可靠的方法來確定的Java系統總內存。在Unix系統上,你可以解析/proc/meminfo
。你當然可以找到可供JVM使用的最大內存:
long maxMemory = Runtime.getRuntime().maxMemory();
編輯:的完整性(感謝蘇雷什S),這裏有一種方式來獲得總內存只有在Oracle JVM:
long memorySize = ((com.sun.management.OperatingSystemMXBean) ManagementFactory
.getOperatingSystemMXBean()).getTotalPhysicalMemorySize();
+1:順便說一句你可以設置'-Duser.name = AUser';) – 2011-04-01 11:07:41
@Peter:啊是的,好點。 – WhiteFang34 2011-04-01 11:33:29
我覺得對審計目的非常有用(即記錄誰做了什麼,例如我將它傳遞給RMI調用),但它不是很安全。 – 2011-04-01 11:37:14
看看this topic,它會詳細介紹如何獲取此類操作系統信息。
對於RAM大小,如果你正在使用的Java 1.5
java.lang.management包
com.sun.management.OperatingSystemMXBean mxbean = (com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
System.out.println(mxbean.getTotalPhysicalMemorySize() + " Bytes ");
+1不知道這一點,但值得注意的是它特定於Oracle JVM。 – WhiteFang34 2011-04-01 11:32:14
import java.lang.management.*;
import java.io.*;
class max
{
public static void main(String... a)
{
long diskSize = new File("/").getTotalSpace();
String userName = System.getProperty("user.name");
long maxMemory = Runtime.getRuntime().maxMemory();
long memorySize = ((com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean()).getTotalPhysicalMemorySize();
System.out.println("Size of C:="+diskSize+" Bytes");
System.out.println("User Name="+userName);
System.out.println("RAM Size="+memorySize+" Bytes");
}
}
- 1. 獲取RAM系統大小
- 2. 大小和磁盤大小
- 3. 計算硬盤大小
- 4. 如何獲取Windows機器的硬盤總大小?
- 5. Java:如何:有效地獲取2GB大小的文件大小?
- 6. Java堆大小硬限制
- 7. 如何獲取根的大小&&已使用的根的大小
- 8. 如何使用不同的虛擬硬盤大小啓動CoreOS
- 9. 在Cocoa中動態獲取硬盤大小
- 10. 在C++窗口中獲取硬盤的總大小
- 11. Java獲取字體大小
- 12. 如何獲取背景大小:封面;大小和百分比?
- 13. 瞭解硬盤扇區大小
- 14. 硬盤上的Mysql表大小
- 15. elasticsearch配置硬盤大小限制
- 16. 如何獲取QDockArea大小?
- 17. 如何獲取ImageRendition大小?
- 18. 獲取磁盤的大小堅持
- 19. 獲取磁盤上的文件大小
- 20. 正確獲取磁盤大小
- 21. XE4獲取總磁盤大小
- 22. 如何獲取便攜式磁盤的磁盤大小?
- 23. 文件夾大小如何大於磁盤上的大小?
- 24. 如何處理R上的RAM大小
- 25. 如何在Windows 2000上以字節爲單位獲取硬盤大小?
- 26. malloc分配的大小取決於RAM?
- 27. 最大陣列大小是否等於RAM大小?
- 28. 用Java獲取InputStream的大小
- 29. Infinispan:存儲大對象> RAM大小?
- 30. 排序數據大於RAM大小
相關:http://stackoverflow.com/questions/25552/using-java-to-get-os-level-system-information – 2011-04-01 10:59:55