- 浏览: 471089 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (272)
- java基础 (59)
- struts (8)
- spring (8)
- 数据库 (8)
- java 网络编程 (29)
- hibernate (3)
- JavaScript (10)
- 日志管理 (2)
- jsp (4)
- servlet (7)
- xml (4)
- ajax (2)
- web service (4)
- 算法与数据结构 (13)
- java 反射机制 (11)
- java 泛型 (3)
- java I/O (8)
- java 线程 (12)
- JavaEE (6)
- java解惑 (33)
- 工具 (5)
- MyEclipse编程实践 (1)
- OSGI (2)
- 设计模式 (9)
- 正则表达式 (0)
- EJB (3)
- Ubuntu linux (6)
- Android (1)
- web前端 (2)
- 找工作 (1)
- SCA (1)
- maven (1)
- 缓存 (1)
- json (1)
- javamail (1)
- 工作笔记 (2)
最新评论
-
霜花似雪:
博主可以分享一下源码吗?
使用maven构建web项目实例 -
王庆波-行:
很好的demo!
memcache使用实例 -
surpassno:
大写的牛逼
java可视化显示内存使用情况 -
zhulin0504:
怎么访问NetEcho.html页面呀???
applet与servlet的网络通信 -
springdata:
java多线程实例demo源代码下载:http://www.z ...
java多线程例子
用httpconnection进行文件下载,建立一般的java项目ch06
package HTTP.HttpConnection; import java.net.URL; import java.net.HttpURLConnection; import java.io.BufferedInputStream; import java.io.FileOutputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; //下载程序 public class TestHttpConnection { public static void main(String[] args) //args[0]为待下载文件的url { try { // HttpURLConnection对象发出http请求报文,接收响应报文 HttpURLConnection httpConnection = (HttpURLConnection) new URL(args[0]).openConnection(); httpConnection.setRequestMethod("GET"); BufferedInputStream bis=new BufferedInputStream(httpConnection.getInputStream()); ByteArrayOutputStream baos=new ByteArrayOutputStream(); byte[] buff=new byte[1024]; int bytesRead; while(-1 != (bytesRead = bis.read(buff, 0, buff.length))) { baos.write(buff, 0, bytesRead); } buff=null; String fileName=args[0].substring(args[0].lastIndexOf("/")+1); FileOutputStream fos=new FileOutputStream(fileName); //在当前项目ch06生成一个文件 fos.write(baos.toByteArray()); //baos.toByteArray()形成字节数组,一次性将字节数组写入文件,但如果远程文件尺寸较大,就会导致JVM内存溢出 baos.close(); fos.close(); } catch(IOException ioe) { ioe.printStackTrace(); } } }
执行时如果传入的参数为http://www.sina.com/index.html,就会在ch06目录下生成一个index.html与sina网的首页内容一样
登录需要验证的web站点,Authenticator会提供账户?
package HTTP.Authenticator; import java.io.PrintWriter; import java.io.InputStream; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.StringWriter; import java.io.IOException; import java.net.URL; import java.net.Authenticator; import java.net.PasswordAuthentication; import java.net.MalformedURLException; public class TestAuthenticator { public static void main(String[] args) { Authenticator.setDefault(new MyAuthenticator(args[1],args[2]));//user,password System.out.println( new TestAuthenticator().fetchURL(args[0]) ); //url } private String fetchURL (String urlString) { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); try { URL url = new URL(urlString); InputStream content = (InputStream)url.getContent();//get url content BufferedReader in = new BufferedReader(new InputStreamReader(content)); String line; while ((line = in.readLine()) != null) //read { pw.println (line); //print in console } } catch(MalformedURLException e) { pw.println ("URL无效"); } catch(IOException e) { pw.println ("读取URL资源时出错"); } return sw.toString(); } } class MyAuthenticator extends Authenticator { private String user=null; private String password=null; public MyAuthenticator(String user, String password) { this.user=user; this.password=password; } protected PasswordAuthentication getPasswordAuthentication() { char[] ch=new char[this.password.length()]; password.getChars(0,this.password.length(),ch,0); return new PasswordAuthentication (this.user, ch); } }
发表评论
-
计算机网络知识
2011-06-01 16:19 803一个http请求的详细过程 我们来看当我们在浏览器输入htt ... -
java udp socket实例
2010-12-06 12:28 7131客户端: package udp; import jav ... -
线程池实现tcp socket
2010-12-01 17:23 2891前面的程序,当一个客户端请求到来时,服务器端就会临时性的创建一 ... -
tcp socket实例(改进)
2010-12-01 16:16 1602上一篇的程序服务器端只能接受一个客户端请求,本篇改为模拟多客户 ... -
java tcp socket实例
2010-12-01 13:44 1646网络编程的基本模型就是客户端到服务器端模型,一段必须提供一个固 ... -
telnet协议(转)
2010-10-14 17:17 1150我们知道Telnet服务器软 ... -
whois协议(转)
2010-10-14 14:28 1368当我们预备建立一个Web站点,就必须向域名登记机构申请一个In ... -
java 网络协议(一)Tcp多线程服务器端编程
2010-10-14 11:33 54941,通用服务器代码: package multiThread; ... -
java 网络协议(一)UDP
2010-10-14 09:24 1493UDP测试程序,无需建立连接 package udp; ... -
java 网络协议(一)Tcp
2010-10-14 08:52 51471,简化的服务器端程序 package tcp; imp ... -
java 网络协议(一)InetAddress和Socket(含源码)
2010-10-14 08:24 18971,ip地址和主机名互换 package getip; ... -
ftp协议2(转)
2010-10-12 16:26 978FTP协议工作原理 FTP有 ... -
ftp协议(转)
2010-10-12 16:21 1274ftp协议 FTP协议将使用两 ... -
SMTP服务协议(转)
2010-10-11 15:31 1262SMTP服务概述 鉴于本课程的默认读者群是那些对Inter ... -
利用socket发送接收邮件(转)
2010-10-11 15:18 4200这是在网上摘的,执行接收邮件出现:530 Authentica ... -
jdk6.0从入门到精通-----chapter5网络编程 新I/O(含源码下载)
2010-09-21 10:13 1440本例向用户通过参数指定的主机端口发送一段请求报文,然后读取和打 ... -
java自学===Filter类的应用,验证用户
2010-09-14 14:37 952Filter类 package com; import ... -
java自学===Filter类的应用,网站数量统计
2010-09-14 12:31 1953package filterStatistic; imp ... -
jdk6.0从入门到精通-----chapter5网络编程 udp套接字
2010-09-12 13:46 1170用到的主要类DatagramPacket,DatagramSo ... -
jdk6.0从入门到精通-----chapter5网络编程 tcp连接池
2010-09-10 18:07 997package pool; import java.ne ...
相关推荐
《JDK 6.0从入门到精通——Chapter 17 动态编程》 在Java编程领域,JDK 6.0版本引入了许多新特性,其中动态编程是提升开发效率和灵活性的重要方面。本章将深入探讨动态编程的概念、用途以及如何在JDK 6.0中利用这些...
标题中的“jdk6.0从入门到精通-----chapter18与动态语言结合”指的是Java开发工具包(JDK)6.0版本中的一个章节,主要探讨了如何将Java与动态编程语言集成。在Java 6中,引入了一个重要的特性,即Java平台标准版6...
在Java编程领域,JDK(Java Development Kit)是开发和运行Java应用程序的...总的来说,"JDK6.0从入门到精通-----chapter5网络编程 新I/O"是一个极好的学习资源,无论你是初学者还是有经验的开发者,都能从中获益良多。
标题 "(源码下载)jdk6.0从入门到精通-----chapter2--输入输出,克隆对象" 提供了我们要探讨的主题,即Java中的输入输出流(I/O Stream)和对象克隆。在这个章节中,我们将深入理解这两个关键概念。 **输入输出流...
本章“jdk6.0从入门到精通-----chapter8并发多线程(1)”着重讲解了Java 6中关于多线程的基本知识和实践技巧。通过源码下载,读者可以更直观地理解多线程的实现方式。 首先,我们要理解什么是多线程。在单线程环境...
《JDK 6.0线程入门到精通——Chapter 7》 在Java开发中,线程是程序执行的最小单元,它使得一个程序能够同时处理多个任务,从而提高了程序的效率和响应性。在JDK 6.0中,线程的管理和使用有了更加完善的特性,对于...
本章节将深入探讨JDK 6.0中的文件和目录操作,这对于任何Java开发者来说都是必备的知识点。在实际项目中,我们需要频繁地与文件系统交互,例如读取、写入、移动或删除文件和目录,因此理解这部分内容至关重要。 ...
在Java编程领域,JDK6.0是一个重要的版本,它为开发者提供了丰富的特性和改进。本章我们将深入探讨“反射机制”以及如何结合Spring AOP(面向切面编程)进行应用。反射是Java中的一种强大工具,允许程序在运行时检查...