Update.java
上传用户:hainatieta
上传日期:2019-07-13
资源大小:1076k
文件大小:2k
源码类别:

外挂编程

开发平台:

Java

  1. package cn.seejava.lei2;
  2. import java.io.BufferedReader;
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.net.Socket;
  7. import java.net.UnknownHostException;
  8. import javax.swing.JOptionPane;
  9. public class Update implements Runnable{
  10. int version = 182;
  11.     public void loadUpdate() throws UnknownHostException, IOException, InterruptedException{
  12.      int i = 10 ;
  13.      if(getInfo()){
  14.      i = showMessage();
  15.      }
  16.      if(i == 0){
  17.      String filePath = SetFrame.f.getCanonicalPath().toLowerCase();
  18.      int j = filePath.indexOf("config.ini");
  19.      String newPath = filePath.substring(0, j)+"update";
  20.      String jarFile = "update.jar";
  21.      Runtime.getRuntime().exec("cmd /c cmd /c start ""/d ""+newPath+"" ""+jarFile+""");
  22.      Thread.sleep(100);
  23.      System.exit(0);
  24.      }
  25.     }
  26. public boolean getInfo() throws UnknownHostException, IOException{
  27.     boolean flag = false;
  28. Socket s = new Socket("feiyuhen.gicp.net",80);
  29. BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
  30. String line = br.readLine();
  31. br.close();
  32. if(Integer.parseInt(line)>version){
  33. //更新
  34. flag = true;
  35. }
  36. return flag;
  37. }
  38. public int showMessage(){
  39. int k = 10 ;
  40. k = JOptionPane.showConfirmDialog(null, "程序检测到有更新 是不是调用自动更新", "更新", JOptionPane.YES_NO_OPTION);
  41. return k;
  42. }
  43. @Override
  44. public void run() {
  45. try {
  46. loadUpdate();
  47. } catch (UnknownHostException e) {
  48. e.printStackTrace();
  49. } catch (IOException e) {
  50. e.printStackTrace();
  51. } catch (InterruptedException e) {
  52. e.printStackTrace();
  53. }
  54. }
  55. }