📄 fileserver.java
字号:
/*
* fileServer.java
*
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
/**
*
* @author codewar1
*/
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.util.zip.GZIPOutputStream;
import java.io.*;
import java.net.*;
import java.net.*;
public class fileServer extends Thread{
public String filepath;
public String filename;
ServerSocket filesocket;
JTextArea jfileShow;
/** Creates a new instance of ServerReceiveThread */
public fileServer(
JTextArea jfileShow,
String filepath
)
{//文件发送线程
this.filepath = filepath; //通过文件选择框得到
this.jfileShow = jfileShow;
}
public void run()
{
File file = new File(filepath);//文件
filename = file.getName();
jfileShow.append(filename);
try {
filesocket = new ServerSocket(8800);
while (true)
{//接受客户端连接
Socket client = filesocket.accept();
jfileShow.append("传送文件 :"+filepath);
DataOutputStream out = new DataOutputStream(
client.getOutputStream()
);//套接字流
GZIPOutputStream gout = new GZIPOutputStream(out);
FileInputStream fileIn = new FileInputStream(filepath);
//压缩流与文件流
byte [] buffer = new byte [1024];
int length;
while ((length = fileIn.read(buffer))!=-1)
{//正常读出为字节数,读完-1
gout.write(buffer,0,length);
}
gout.close();
fileIn.close();
client.close();
jfileShow.append("传送"+filename+"完毕");
}
} catch (Exception ex) {
jfileShow.append(filename);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -