?? jdiskserial.java
字號:
package cn.banny.util.io;
/**
* JDiskSerial 類 ,獲得硬盤的相關物理參數。<br>
* 以下所有本地方法中 nDrive 參數為硬盤序號,
* 在WINDOWS NT 4.0、WINDOWS 2000和WINDOWS XP中,
* 一般設為0即可,所對應的硬盤序號為磁盤管理中的硬盤,
* 即磁盤管理中的磁盤0參數應設為0,
* 磁盤1則參數應設為1;在 WINDOWS 95、WINDOWS 98和WINDOWS ME中,
* 磁盤序號與硬盤所連接的IDE接口的關,如果硬盤為第一個IDE接口的主盤,
* 參數設為0,從盤設為1,為第二個IDE接口的主盤參數為2,從盤為3。<br>
*
* 如果方法返回為 null,一種情況是調用不成功,另一種情況是指定的硬盤序號沒有對應的硬盤。
*
*/
public final class JDiskSerial {
private static final JDiskSerial INSTANCE = new JDiskSerial();
public static JDiskSerial get() {
return INSTANCE;
}
static {
System.loadLibrary("JDiskSerial");
}
/**
* 獲得硬盤物理序列號
*/
private static native String getSerialNumber(int nDrive);
/**
* 獲得硬盤型號
*/
private static native String getModelNumber(int nDrive);
/**
* 獲得硬盤修訂號
*/
private static native String getRevisionNumber(int nDrive);
/**
* 獲得硬盤緩存大小
*/
private static native int getBufferSize(int nDrive);
/**
* 獲得硬盤的柱面數
*/
private static native int getDiskCylinders(int nDrive);
/**
* 獲得硬盤的磁頭數
*/
private static native int getDiskHeads(int nDrive);
/**
* 獲得硬盤每磁道的扇區數
*/
private static native int getSectorsOfTrack(int nDrive);
public Disk disk(int nDrive) {
Disk disk = new Disk(nDrive);
disk.setSerialNumber(getSerialNumber(nDrive));
disk.setModelNumber(getModelNumber(nDrive));
disk.setRevisionNumber(getRevisionNumber(nDrive));
disk.setBufferSize(getBufferSize(nDrive));
disk.setDiskCylinders(getDiskCylinders(nDrive));
disk.setDiskHeads(getDiskHeads(nDrive));
disk.setSectorsOfTrack(getSectorsOfTrack(nDrive));
return disk;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -