⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jdiskserial.java

📁 java license校验java license校验java license校验
💻 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 + -