`
rainsilence
  • 浏览: 159277 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

(原)仿Http服务器下载响应

阅读更多

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;


public class HttpEngine {
	
	private ServerSocket serverSocket;
	
	public void start() throws IOException {
		serverSocket = new ServerSocket(8080, 3);
		
		while(true) {
			Socket socket = serverSocket.accept();
			parseRequest(socket);
			parseResponse(socket);
			socket.close();
		}
		
	}
	
	public void parseRequest(Socket socket) throws IOException {
		InputStream is = socket.getInputStream();
		byte[] b = new byte[is.available()];
		is.read(b);
		//is.close();
	}
	
	public void parseResponse(Socket socket) throws IOException {
		OutputStream os = socket.getOutputStream();
		
		File file = new File("D:\\document.pdf");
		StringBuilder httpHead = new StringBuilder();
		
		httpHead.append("HTTP/1.1 200 OK\r\n")
				.append("Server: Microsoft-IIS/5.0\r\n")
				.append("ContentType: application/x-download\r\n")
				.append("Content-Disposition: attachment;filename=" + file.getName()+ "\r\n")
				.append("Cache-control: private\r\n\r\n");
		
		os.write(httpHead.toString().getBytes());
		
		FileInputStream is = new FileInputStream(file);
		
		byte[] b = new byte[1024];
		
		while(is.read(b) != -1) {
			os.write(b);
		}
		
		os.flush();
		
		os.close();
	}
	
	public static void main(String args[]) throws Exception {
		new HttpEngine().start();
	}
}
 在浏览器地址栏中打http://localhost:8080就能得到下载文件了
分享到:
评论

相关推荐

    java源码包3

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java源码下载 1个目标文件 摘要:Java源码,网络相关,HTTP Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,...

    java源码包---java 源码 大量 实例

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    JAVA上百实例源码以及开源项目

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    java源码包4

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    电压调整模块(VRM)9.0 DC-DC变化器设计指导

    英特尔至强处理器(原代码为Nocona)的工作频率高达3.60 GHz。它集成了按需切换(DBS)的增强型英特尔 SpeedStep技术,可以动态调整功率和降低处理器功率需求。64位英特尔内存扩展技术(英特尔 EM64T)支持64位内存寻址...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java源码下载 1个目标文件 摘要:Java源码,网络相关,HTTP Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,...

    java开源包10

    它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。...

    基于云计算的资源调度算法优化研究.pdf

    云计算是一种把数据存储、数据传输等作为一项服务向有需要的人们提供技术的商业计算模式,它依托于虚拟化技术的发展,它的本质是把分散的资源集中到服务器端,构成虚拟化的资源池,供客户共享。 云计算资源调度算法...

    JAVA上百实例源码以及开源项目源代码

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    java源码包2

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    java开源包1

    它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。...

    java开源包11

    它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。...

    java开源包2

    它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。...

    java开源包3

    它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。...

    java开源包6

    它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。...

    java开源包5

    它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。...

    java开源包4

    它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。...

    java开源包8

    它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。...

Global site tag (gtag.js) - Google Analytics