关于Java实现连接服务器获取更新
来源:互联网 发布:java泛型坑 编辑:程序博客网 时间:2024/05/29 13:19
第一步:
在tomcat服务器的webapps\ROOT文件夹下放入两个文件,一个是Update.txt。(更新信息)另一个是info.java(新版本文件)在第一个文件里面写入 02,最近版本,http://localhost:8080/Info.java,new version 这个格式的信息(版本号,更新描述,在服务器上的地址,存放在本地时的文件名)注意,在编辑update.txt保存时,
要以utf-8无BOM格式编码保存,不然在后面读取时会出现一些特殊字符,如"?"。
第二步:
编码实现:
1、创建JavaBean Info文件,定义变量,生成get/set方法。写定一个版本号
2、创建接口
public interface CheckUpdateI {
//检查更新
void CheckUpdate();
//下载更新
void DownLoad(URL theURL, String filePath) throws IOException;
}
3、实现接口
public class CheckUpdateImpl implements CheckUpdateI {
String lastestversionid;
String softwareurl;
String description;
String file;
//检查更新
public void CheckUpdate() {
// TODO Auto-generated method stub
Info info = new Info();
String read;
String readStr ="";
String FileName="Http://localhost:8080/update.txt";
try{
URL url =new URL(FileName);
HttpURLConnection urlCon = (HttpURLConnection)url.openConnection();
urlCon.setConnectTimeout(5000);
urlCon.setReadTimeout(5000);
BufferedReader br =new BufferedReader(new InputStreamReader( urlCon.getInputStream(),"utf-8"));
List<Info>list = new ArrayList<>();
while ((read = br.readLine()) !=null) {
readStr = readStr + read;
}
br.close();
}
catch (IOException e) {
// TODO Auto-generated catch block
readStr ="f";
}
String[] information=readStr.split(",");
this.setLastestversionid(information[0]);
this.setDescription(information[1]);
this.setSoftwareurl(information[2]);
this.setFile(information[3]);
}
public String getLastestversionid() {
return lastestversionid;
}
public void setLastestversionid(String lastestversionid) {
this.lastestversionid = lastestversionid;
}
//下载
@Override
public void DownLoad(URL theURL, String filePath) throws IOException{
// TODO Auto-generated method stub
File dirFile = new File(filePath);
if(!dirFile.exists()){//文件路径不存在时,自动创建目录
dirFile.mkdir();
}
//从服务器上获取文件并保存
URLConnection connection = theURL.openConnection();
InputStream in = connection.getInputStream();
FileOutputStream os = new FileOutputStream(filePath+"//"+this.getFile());
byte[] buffer = new byte[4 * 1024];
int read;
while ((read = in.read(buffer)) > 0) {
os.write(buffer, 0, read);
}
os.close();
in.close();
}
public String getSoftwareurl() {
return softwareurl;
}
public void setSoftwareurl(String softwareurl) {
this.softwareurl = softwareurl;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getFile() {
return file;
}
public void setFile(String file) {
this.file = file;
}
4、在service中调用接口
public class CheckUpdateService {
public Integer now = 0;
public Integer lastest = 0;
public void CheckUpdate(){
CheckUpdateImpl cui = new CheckUpdateImpl();
cui.CheckUpdate();
//cui.getLastestversionid();
Info info = new Info();
System.out.println(info.getVersion());
System.out.println(cui.getLastestversionid());
//Info info = new Info();
now = Integer.parseInt(Info.getVersion());
lastest = Integer.parseInt(cui.getLastestversionid());
if(lastest>now){
info.setVersion(cui.getLastestversionid());
try {
String urlPath = cui.getSoftwareurl();
String filePath = "E://ProjectDowload"; //本地存放文件的地址
URL url = new URL(urlPath);
cui.DownLoad(url, filePath);
} catch (IOException e) {
e.printStackTrace();
}
JOptionPane.showMessageDialog(null, "更新成功"+"新版本介绍:"+cui.getDescription());
}else{
JOptionPane.showMessageDialog(null, "已是最新版本");
}
System.out.println(lastest);
}
}
- 关于Java实现连接服务器获取更新
- (索引)关于实现Java的HTTP服务器 zt(0924更新
- 1.2 连接服务器获取更新信息
- 连接服务器更新操作
- Ajax实现定时从服务器获取数据,定时更新数据
- Java远程连接操作linux服务器,scp获取文件
- Java远程连接操作linux服务器,scp获取文件
- lua实现更新服务器
- 关于Java的UDP通信连接实现
- 执行更新版本获取服务器连接必须开启一个新的线程
- 关于如何在java的web应用获取服务器资源。
- 关于Java获取本地服务器IP的问题
- java网络编程----------Socket实现客户端和服务器的连接
- java实现代理服务器,接收客户端连接,发送到对应服务器
- Java JSP获取访问连接来源及服务器获取访问者信息
- java连接Neo4j服务器
- Java连接MemCached服务器
- 【java连接Neo4j服务器】
- delphi跳出循环体
- GitPush避免重复输入用户名和密码
- 神经网络的层参数维度(14)---《深度学习》
- Mybatis实现对DB增删改查 (前)学习工具
- 线程池
- 关于Java实现连接服务器获取更新
- java-容器
- cf 870 B
- 我的读书笔记——引用
- 微信小程序getPhoneNumber快速获取用户手机号组件
- Spring boot入门
- DeepLearing学习笔记-改善深层神经网络(第三周- 超参数调试、正则化)
- PullToRefreshListView加请求网络数据+imageloder
- Java反射机制