android做一个简单上传文件的功能,socket连接问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android做一个简单上传文件的功能,socket连接问题相关的知识,希望对你有一定的参考价值。

连接服务器 本来用Socket socket=new Socket(ip,port);

但有时各种原因连不上,长时间不响应,android系统一段时间不响应的话就会 强制关闭
所以现在做一个超时设定
Socket socket =new Socket();
socket.connect(new InetAddress(host,port),3000);
我想扑捉这个超时,并用Toast给出友好的提示,请问怎么捕捉超时
?我捕捉超时给出提示之后系统就不会强制关闭了吗?

ps:连接是在点击一个按钮后开始的

加一个try,catch就好了。在catch里面就可以用toast提示超时。追问

这样做了,有提示了,但还是会强制关闭

追答

异常捕捉全部catch里面的参数改成Exception 就不会死了

参考技术A 我记得会抛出超时异常的 参考技术B 建议重开一个线程链接,然后主线程就可以处理异常了

基于Java的一个简单的文件上传下载功能

最近在公司给客户端做接口,有一个图片上传和文件下载的功能,本来想用Struts来做文件上传下载,但是看了下公司好像没有这个配置,然后看了下同事的代码,才发现原来Apache也可以简单的实现文件上传下载。 
首先引入commons-io-2.2.jar 
FileUtils为我们提供了很多对文件的操作的方法,比如上传整个文件夹的文件、上传单个文件等 
然后请看代码下载
public static void uploadFile(String targetDirectory,String targetFileName,File file){ 
try { 
File target = new File(targetDirectory, targetFileName); 
/** 
* 上传整个文件夹文件 
* */ 
//FileUtils.copyDirectory(file,target); 
/** 
* 上传单个文件 
* */ 
FileUtils.copyFile(file, target); 
} catch (IOException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 

}
 

到这为止 一个简单的文件上传就完成了。接下来看看下载文件: 
public static void downloadUrl(String httpurl,String targetDirectory){ 
try { 
FileUtils.copyURLToFile(new URL(httpurl), 
new File(targetDirectory)); 
} catch (MalformedURLException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 
} catch (IOException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 

}
 

然后来一个man方法测试是否正确: 

public static void main(String[] args) { 
//上传 
File file = new File("D:/tp/xiazai.png"); 
FileUtil.uploadFile("D:/Test/", "uplod2016.png",file); 

//下载
FileUtil.downloadUrl("http://img5.pcpop.com/ArticleImages/500x375/1/1613/001613973.jpg","D:/Test/jams.png");
}
 
上传成功: 
技术分享 
下载成功: 

技术分享 
完美。 

以上是关于android做一个简单上传文件的功能,socket连接问题的主要内容,如果未能解决你的问题,请参考以下文章

基于Java的一个简单的文件上传下载功能

Android阅读PDF文件方案

在Android浏览器中通过WebView调用相机拍照/选择文件 上传到服务器

Android实现模拟表单上传

Android 关于录音文件的编解码 实现米聊 微信一类的录音上传的功能

[Layui]上传文件带进度条+表单提交功能优化