总结一下平时常用的知识

1.如何得到全部的mac地址
public static String hexByte(byte b) {
String s = “000000” + Integer.toHexString(b);
return s.substring(s.length() - 2);
}

public static String getMAC() {  
    Enumeration<NetworkInterface> el;  
    StringBuffer sb=new StringBuffer();;
    String mac_s = "";  
    try {  
        el = NetworkInterface.getNetworkInterfaces();  
        while (el.hasMoreElements()) {  
            byte[] mac = el.nextElement().getHardwareAddress();  
            if (mac == null)  
                continue;  
            mac_s = hexByte(mac[0])  + hexByte(mac[1]) +  
                    hexByte(mac[2]) +  hexByte(mac[3]) +  
                     hexByte(mac[4]) + hexByte(mac[5]); 
                     //为了去除没有用的地址比如已经断开了网的 
            if(!mac_s.contains("000000000000")){
            sb.append(mac_s+";");
            }

        }  
    } catch (SocketException e1) {  
        e1.printStackTrace();  
    }  
    return new String(sb).toUpperCase();  
}

2如何得到本机正在使用的mac地址(只有一个)

private static void getString() throws IOException{
Process p = Runtime.getRuntime().exec(“cmd /C ipconfig /all”);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String str = null;
String Name_Mac = “”;
while((str=br.readLine())!=null){
try {
if(!str.substring(0, 1).equals(” “))
Name_Mac += str+” “;
else if(str.indexOf(“Physical Address”)!=-1){
Name_Mac += str.substring(str.indexOf(“:”)+1)+”\n”;
}
} catch (Exception e) {}
}
System.out.println(Name_Mac);
}

3.得到CPUID

public static String getCpuID() throws LicenseException {
logger.info(“执行的方法getCpuID”);
try {
Process process = Runtime.getRuntime().exec(new String[] { “wmic”, “cpu”, “get”, “ProcessorId” });
process.getOutputStream().close();
Scanner sc = new Scanner(process.getInputStream());
String property = sc.next();
String serial = sc.next();
return serial;
} catch (IOException ex) {
logger.error(“获取cpuid出现错误”);
throw new LicenseException(“cpuId获取失败”);
}
}

4.获得操作系统

public static String getOs() {
logger.info(“执行的方法getOs()”);
Properties props = System.getProperties(); // 获得系统属性集
String osName = props.getProperty(“os.name”); // 操作系统名称
String os = osName.replaceAll(“\s*|\t|\r|\n”, “”);
return os;
}

5.dom4j获得 一个xml里面想要的字段

public static License getLicenseNeedFields(String context) throws DocumentException, LicenseException{
    logger.info("执行的方法getLicenseNeedFields");
    License license=new License();
    try{
        Document doc = DocumentHelper.parseText(context);
        Element root = doc.getRootElement();//的到根目录
        Element feature=root.element("feature");//得到根目录下的<xml><li><feature><feature><><l><lc><lc><li>
        for(Iterator it = root.elementIterator(); it.hasNext();){
            Element element = (Element) it.next();
            if(element.getName().equals("sign")){
                license.setSign(element.getText());
            }
        }

        for(Iterator it = feature.elementIterator(); it.hasNext();){
            Element element = (Element) it.next(); 
            if(element.getName().equals("mac")){
                license.setMac(element.getText());
            }
            if(element.getName().equals("cpuid")){
                license.setCpuid(element.getText());
            }
            if(element.getName().equals("expiry_date")){
                license.setExpiryDate(element.getText());
            }if(element.getName().equals("code")){
                license.setCode(element.getText());
            }
        }

        Element extend=feature.element("extend");
        LinkedHashMap<String, String> map=new LinkedHashMap<String, String>();
        for(Iterator it=extend.elementIterator();it.hasNext();){
            Element element=(Element)it.next();
            map.put(element.getName(), element.getText());
        }
        license.setMaps(map);
        String featureContext=feature.asXML();
        license.setFeatureContext(featureContext.replaceAll("\\s*|\t|\r|\n", ""));
    }catch(Exception e){
        logger.error("在解析license文件时,传入的xml或内容出现错误");
        throw new LicenseException("在解析license文件时,传入的xml或内容出现错误");
    }
    return license;
}

6.下载文件(当response中如果已经submit了说明有可能用了request.forward了,或者用了其他的请求关于response的请求,需要仔细检查,而且上传下载都是,用的自动注解@@autowired ,如果不是自动注解需要配置才能上传下载)

public static void downloadFile(String fileName, String fileContent, HttpServletResponse response)
        throws IOException {
    logger.info("开始调用downloadFile,fileName="+fileName+";fileContent="+fileContent);
    try {
        fileName = new String(fileName.getBytes("UTF-8"), "UTF-8");
        response.reset();
        response.setContentType("multipart/from-data");
        response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
        System.out.println(fileName);
        PrintWriter printwriter = new PrintWriter(response.getOutputStream());
        printwriter.println(fileContent);
        printwriter.close();
    } catch (FileNotFoundException e) {
        logger.error("downloadFile失败",e);
        e.printStackTrace();
    } catch (IOException e) {
        logger.error("downloadFile失败",e);
        e.printStackTrace();
    }
}

7.上传文件

@ResponseBody
@RequestMapping(value = "/uploadAuthorizeFile", method = RequestMethod.POST)
public void uploadAuthorizeFile(HttpServletRequest request) throws LicenseException{
    // 获取解析器
    CommonsMultipartResolver resolver = new CommonsMultipartResolver(request.getSession().getServletContext());
    // 判断是否是文件
    if (resolver.isMultipart(request)) {
        // 进行转换
        MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) (request);
        // 获取所有文件名称
        Iterator<String> it = multiRequest.getFileNames();
        while (it.hasNext()) {
            // 根据文件名称取文件
            MultipartFile file = multiRequest.getFile(it.next());
            file.getOriginalFilename();
            Map<String, String> map = System.getenv();
            String systemProgramData = map.get("ALLUSERSPROFILE");
            String localPath = systemProgramData + "/" + Constant.SYS_COMPANY + "/" + Constant.SYS_SYSTEM
                    + "/license/license.lic";
            File newFile = new File(localPath);
            if (!newFile.exists()) {
                newFile.mkdirs();

            }
            // 上传的文件写入到指定的文件中
            try {
                file.transferTo(newFile);
                 AuthorizeUtil.doCheckAuthorzie();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

8.字符串数组转list

String s=”asda,adadff,das”;
String [] arr=s.spilt(“,”);
List list=Arrays.asList(arr);

9各种转String

String s=Integer.parsetInt(“”);
Double.parsetdouble(“”);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值