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

📄 filereceivethread.java

📁 模仿腾讯QQ的
💻 JAVA
字号:
package com.softfz.jn0708.thread;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

import com.softfz.jn0708.chat.ChatFrame;
import com.softfz.jn0708.srcpackage.FilePath;


/**
 * 文件接收线程类
 * @author admin
 *
 */
public class FileReceiveThread extends Thread {
	
	private ServerSocket serverSocket;

	private BufferedInputStream bis;

	private BufferedOutputStream bos;
	
	private ChatFrame chatframe;

	private long count=0;
    /**
     * 构造
     * @param serverSocket 服务socket
     */
	public FileReceiveThread(ServerSocket serverSocket,ChatFrame chatframe) {
		this.serverSocket = serverSocket;
		this.chatframe = chatframe;
	}

	/**
	 * 线程run()方法
	 */
	public void run() {

		try {
			Socket socket = serverSocket.accept();

			if (socket != null) {
				bis = new BufferedInputStream(socket.getInputStream());
				bos = new BufferedOutputStream(new FileOutputStream(FilePath.FileRevPath));

				byte[] buf = new byte[1024];
				int len = 0;

				while ((len = bis.read(buf)) != -1) {
					
//					count= count +1;
//					tembyte = count*buf.length;
//					int tmp = (int) ((tembyte*100)/Long.parseLong(FilePath.proLong));
//					clientThread.getProbar().setValue(tmp);
//					
					bos.write(buf, 0, len);
					bos.flush();
				}

				bis.close();
				bos.close();
				socket.close();
				serverSocket.close();

			}

		} catch (IOException e) {
			e.printStackTrace();
		}

	}

	/**
	 * 获取服务socket
	 * @return
	 */
	public ServerSocket getServerSocket() {
		return serverSocket;
	}


}

⌨️ 快捷键说明

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