转存

package com.utils;

import java.io.BufferedReader;
import java.io.File;
import java.io.InputStream;
import java.io.InputStreamReader;

public class Command {
	public static void exeCmd(String commandStr) {
		BufferedReader br = null;
		try {
			Process p = Runtime.getRuntime().exec(commandStr);
			br = new BufferedReader(new InputStreamReader(p.getInputStream(),"gbk"));
			String line = null;
			StringBuilder sb = new StringBuilder();
			while ((line = br.readLine()) != null) {
				sb.append(line + "\n");
				System.out.println(sb.toString());
			}
		} catch (Exception e) {
			e.printStackTrace();
		} 
		finally
		{
			if (br != null)
			{
				try {
					br.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}

	public static void bbbb() {
		try {  
		    Runtime rt = Runtime.getRuntime();  
		    Process proc = rt.exec("javac");  
		    int exitVal = proc.waitFor();  
		    System.out.println("Process exitValue: " + exitVal);    
		} catch (Throwable t) {  
		    t.printStackTrace();  
		} 
	}
	
	public static void cccc() {
		BufferedReader br = null;
		try {  
			//String [] cmd={"cmd","/C","copy exe1 exe2"};
			String [] cmd={"diskpart","list disk"}; 
			Process p = Runtime.getRuntime().exec(cmd);
			br = new BufferedReader(new InputStreamReader(p.getInputStream(),"gbk"));
			String line = null;
			StringBuilder sb = new StringBuilder();
			while ((line = br.readLine()) != null) {
				sb.append(line + "\n");
				System.out.println(sb.toString());
			}
		} catch (Throwable t) {  
		    t.printStackTrace();  
		} 
	}
	
	public static void dddd() {
		try {  
		    Runtime rt = Runtime.getRuntime();  
		    String [] cmd={"diskpart","list disk"}; 
		    Process proc = rt.exec(cmd);  
		    InputStream stderr = proc.getErrorStream();  
		    InputStreamReader isr = new InputStreamReader(stderr,"GBK");  
		    BufferedReader br = new BufferedReader(isr);  
		    String line = null;  
		    System.out.println("<ERROR>");  
		    while ((line = br.readLine()) != null)  
		        System.out.println(line);  
		    System.out.println("</ERROR>");  
		    long exitVal = proc.waitFor();  
		    System.out.println("Process exitValue: " + exitVal);  
		} catch (Throwable t) {  
		    t.printStackTrace();  
		}  
	}
	
	public static void eeee(){
		File[] roots = File.listRoots();
		for (File drive : roots) {
		   System.out.println(drive.getPath());
		  }
		 System.out.println("***MAC地址***");  
	        //****************获取硬盘ID*****************//  
	        String sn = DiskUtils.getSerialNumber("C");   
	        System.out.println("***硬盘编号***");  
	        System.out.println(sn);   
	}
	
	public static void main(String[] args) {
		//String commandStr = "ping www.taobao.com";
		String commandStr = "diskpart ; list disk";
		//Command.exeCmd(commandStr);
		//bbbb();
//		cccc();
//		dddd();
		eeee();
	}
}
</pre><pre name="code" class="java">
package com.utils;


import java.io.File;


import javax.swing.filechooser.FileSystemView;


/**
 * 磁盘检查
 * 1、检测磁盘是本地磁盘还是可移动磁盘;
 * 2、显示相应的磁盘名称,磁盘总空间以及可用的空间
 */
public class DiskTest {
<span style="white-space:pre">	</span>private final static String localDiskName = "本地磁盘";
<span style="white-space:pre">	</span>private final static String removableDiskName = "可移动磁盘";
<span style="white-space:pre">	</span>private final static String enLocalDiskName = "Local Disk";
<span style="white-space:pre">	</span>private final static String enRemovableDiskName = "Removable Disk";


<span style="white-space:pre">	</span>/**
<span style="white-space:pre">	</span> * 获取磁盘信息
<span style="white-space:pre">	</span> * @return Map<String,ReturnPo>
<span style="white-space:pre">	</span> */


<span style="white-space:pre">	</span>public static void getDiskInfo() {
<span style="white-space:pre">		</span>FileSystemView fileSystemView = FileSystemView.getFileSystemView();// 获取FileSystemView对象
<span style="white-space:pre">		</span>File[] roots = File.listRoots();
<span style="white-space:pre">		</span>for (File file : roots) {
<span style="white-space:pre">			</span>String pathName = file.getPath();// 获取磁盘的路径名称
<span style="white-space:pre">			</span>String diskName = fileSystemView.getSystemTypeDescription(file);// 获取磁盘的类型描述信息
<span style="white-space:pre">			</span>if (diskName.startsWith(localDiskName)
<span style="white-space:pre">			</span>|| diskName.startsWith(enLocalDiskName))// 当磁盘为本地磁盘时
<span style="white-space:pre">			</span>{
<span style="white-space:pre">			</span>} else if (diskName.startsWith(removableDiskName)
<span style="white-space:pre">			</span>|| diskName.startsWith(enRemovableDiskName))// 当磁盘为可移动磁盘时
<span style="white-space:pre">			</span>{
<span style="white-space:pre">			</span>}
<span style="white-space:pre">			</span>System.out.println("磁盘名称为:" + diskName + pathName);
<span style="white-space:pre">		</span>}
<span style="white-space:pre">	</span>}


<span style="white-space:pre">	</span>/**
<span style="white-space:pre">	</span> * @param args
<span style="white-space:pre">	</span> */


<span style="white-space:pre">	</span>public static void main(String[] args) {
<span style="white-space:pre">		</span>DiskTest.getDiskInfo();
<span style="white-space:pre">	</span>}
}
</pre><pre name="code" class="java">
</pre><pre name="code" class="java">package com.utils;


import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStreamReader;
  
class DiskUtils {  
    private DiskUtils() {  
    }  
  
    public static String getSerialNumber(String drive) {  
        String result = "";  
        try {  
            File file = File.createTempFile("d00000000", ".txt");
            FileWriter fw = new java.io.FileWriter(file);
            String vbs = "list disk"; // see note
            fw.write(vbs);
            fw.close();
            Process p = Runtime.getRuntime().exec("diskpart /s " + file.getPath());
            System.out.println(file.getPath());
            BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream(),"GBK"));  
            String line;
            while ((line = input.readLine()) != null) {
            <span style="white-space:pre">	</span>System.out.println(line);
            }  
            input.close();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return result.trim();  
    }  
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值