⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 processor.java

📁 里面所含源码是本人平时做程序的一些实例
💻 JAVA
字号:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;

public class Processor extends Thread {
	private Socket socket;
	private InputStream in;
	private PrintStream out;
	private static final String WebRoot = "e:\\";

	public Processor(Socket socket) {
		this.socket = socket;
		try {
			in = socket.getInputStream();
			out = new PrintStream(socket.getOutputStream());
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public void run() {
		String filename = parse(in);
		sendfile(filename);
	}

	public String parse(InputStream in) {
		BufferedReader br = new BufferedReader(new InputStreamReader(in));
		String filename = null;
		try {
			String httpMessage = br.readLine();
			String content[] = httpMessage.split("");
			if (content.length != 3) {
				senderrorMessage(503, "Client query error!");
				return null;
			}
			System.out.println("code:" + content[0] + ",filename:" + content[1]
					+ ",http version;" + content[2]);
			filename = content[1];
		} catch (IOException e) {
			e.printStackTrace();
		}

		return filename;
	}

	private void senderrorMessage(int errorCode, String errorMessage) {
		out.println("HTTP/1.0" + errorCode + " " + errorMessage);
		out.println("Content-Type:text/html");
		out.println("html");
		out.println("title" + "ErrorMessager");
		out.println("/title");
		out.println("body");
		out.println("<h1>ErrorCode" + errorCode + "Message" + errorMessage
				+ "</h1>");
		out.println("/body");
		out.println("/html");

	}

	private void sendfile(String filename) {
		File file=new File(WebRoot+filename);
		if(!file.exists()){
			senderrorMessage(507,"File not found!");
			return;
		}
		try {
			FileInputStream filein=new FileInputStream(file);
			byte content[]=new byte[(int)file.length()];
			filein.read(content);
			out.println("Http/1.0 200 queryfile");
			out.println("content-length"+content.length);
			out.println();
			out.write(content);
			out.flush();
			out.close();
			in.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -