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:连接是在点击一个按钮后开始的
这样做了,有提示了,但还是会强制关闭
追答异常捕捉全部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连接问题的主要内容,如果未能解决你的问题,请参考以下文章
在Android浏览器中通过WebView调用相机拍照/选择文件 上传到服务器