Java网络编程--简易下载器实现
2016-01-21 12:43
696 查看
package study; import java.io.*; import java.net.*; public class Main { static String source = "http://down.daomuxiaoshuo.com/down/201304/gcd.txt"; String fileName = null; URL url = null; InputStream in = null; static File file = null; DataOutputStream dos = null; URLConnection con = null; // 连接 public void connection() { try { url = new URL(source); } catch (MalformedURLException e) { e.printStackTrace(); } try { con = url.openConnection(); } catch (IOException e) { e.printStackTrace(); } } // 创建本地文件 public void createFile() { file = new File(fileName); if (!file.exists()) { try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } } //将从网络获取的文件的InputStream并写入到本地 private void writeResult() { FileOutputStream fos = null; try { fos = new FileOutputStream(file,true); } catch(FileNotFoundException e) { e.printStackTrace(); } BufferedOutputStream bos = new BufferedOutputStream(fos); dos = new DataOutputStream(bos); try{ in = con.getInputStream(); }catch(IOException e) { e.printStackTrace(); } BufferedInputStream bis = new BufferedInputStream(in); DataInputStream dis = new DataInputStream(bis); try { while(true) { dos.write(dis.readByte()); } } catch(EOFException e) { System.out.println("DownLoad!"); } catch(IOException e) { e.printStackTrace(); } try { dos.close(); bis.close(); } catch(IOException e) { e.printStackTrace(); } } public void setFileName(String sourceUrl) { fileName = sourceUrl.substring(sourceUrl.lastIndexOf("/")+1,sourceUrl.length()).trim(); } public static void main(String[] args) { Main main = new Main(); main.setFileName(source); main.connection(); main.createFile(); main.writeResult(); } }
相关文章推荐
- Http StatuCode说明
- Android自定义圆角ImageView 支持网络图片
- ※回顾※关于阅读TCPIP等源码时遇到的:do while(0) 用法
- Nginx HTTP请求流程
- CNN Note
- httpclient 4.3及以上版本,发送和接收https
- https双向认证(基于程序访问,j2ee和android上皆可用)
- Android ImageCache图片缓存,使用简单,支持预取,支持多种缓存算法,支持不同网络类型,扩展性强
- HttpClientHandler
- 解决UDP丢包问题的经验
- iOS TCP三次握手过程 有意思的解释
- https原理及tomcat配置https方法
- HttpClient支持使用代理服务器以及身份认证
- HttpClient支持使用代理服务器以及身份认证
- Tcpdump 的用法
- TCP通信的基本流程
- [转]【HTTP】Fiddler(二) - 使用Fiddler做抓包分析
- 使用Service和BroadcastReceiver实时监听网络状态
- 新版Matlab中神经网络训练函数Newff的使用方法
- java 发送 http 请求