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

📄 processsocket.java

📁 java socket编程
💻 JAVA
字号:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;

public class ProcessSocket extends Thread {
	private Socket socket;
	public int workingState;

	public ProcessSocket() {
		this.socket = null;
		workingState = 0;
	}

	public void ini(Socket socket) {
		this.socket = socket;
		this.workingState = 1;
	}

	public int getWorkingState() {
		return this.workingState;
	}

	public ProcessSocket(Socket socket) {
		this.socket = socket;
	}

	public void run() {
		try {
			OutputStream os = socket.getOutputStream();
			BufferedReader br = new BufferedReader(new InputStreamReader(socket
					.getInputStream()));
			String header = br.readLine();
			String content = header;
			while (content.length() > 0) {
				System.out.println(content);
				content = br.readLine();
			}
			String[] splits = header.split(" ");
			String fileName = splits[1];
			File file = new File(Server.SERVERLOC + fileName);
			if (!file.exists()) {
				os.write(Server.FAILEDHEADER.getBytes());
				os.close();
				socket.close();
			} else {
				FileInputStream fi = new FileInputStream(file);
				byte[] buffer = new byte[1024];
				int length = fi.read(buffer);
				os.write(Server.SUCCESSHEADER.getBytes());
				while (length != -1) {
					os.write(buffer, 0, length);
					length = fi.read(buffer);
				}
				os.close();
				fi.close();
				socket.close();
			}
		} catch (Exception e1) {
			e1.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

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