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(“”);