没有合适的资源?快使用搜索试试~ 我知道了~
首页java课程设计局域网文件传输系统源代码
资源详情
资源评论
资源推荐
文件传输源代码
package fileTrans;
import java.io.IOException;
import java.net.Socket;
import java.util.LinkedList;
import java.util.List;
import javax.swing.JOptionPane;
public class AcceptThread extends Thread {
FileReciveThread fileReciveThread;
List<String> pathList;
List<Long> fileLengthList;
int i=0;
public AcceptThread() {
super();
// TODO Auto-generated constructor stub
pathList=new LinkedList<String>();
fileLengthList=new LinkedList<Long>();
}
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
while(true){
try {
Socket s=Tool.getServerSocket().accept();
fileReciveThread =new FileReciveThread(s,
pathList.get(i),fileLengthList.get(i));
i++;
fileReciveThread.start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
JOptionPane.showMessageDialog(null,
MessageTypeInterface.TCP_SERVER_PORT+"端口被占用!");
}
}
}
public void addSavePath(String path){
pathList.add(path);
}
public void addFileLength(Long fileLength){
fileLengthList.add(fileLength);
}
}
package fileTrans;
import java.awt.List;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import javax.swing.JOptionPane;
public class FileReciveThread extends Thread {
private Socket socket=null;
private String savePath=null;
private Long fileLength;
private Long recivedLength;
public FileReciveThread(Socket socket,String savePath,Long fileLength){
this.socket=socket;
this.savePath=savePath;
this.fileLength=fileLength;
recivedLength=new Long(0);
}
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
try {
long st=System.currentTimeMillis();
BufferedInputStream in=new BufferedInputStream(socket.getInputStream());
BufferedOutputStream out=new BufferedOutputStream(new
FileOutputStream(savePath));
byte[] b=new byte[1000];
int a=0;
new FileTransProcessThread(fileLength, this).start();
while((a=in.read(b))>0){
out.write(b, 0, a);
recivedLength+=a;
}
in.close();
out.close();
socket.close();
long l=System.currentTimeMillis();
JOptionPane.showMessageDialog(null, "恭喜!\n"+savePath+"\n 接收完毕!");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String getSavePath() {
return savePath;
}
public void setSavePath(String savePath) {
this.savePath = savePath;
}
public Long getRecivedLength(){
return recivedLength;
}
}
package fileTrans;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.net.Socket;
import javax.swing.JOptionPane;
public class FileSendThread extends Thread {
private String sendFilePath=null;
private InetSocketAddress serverSocket=null;
private Long fileLength;
private Long sendedLength;
public FileSendThread(String sendFilePath, InetSocketAddress serverSocket) {
super();
this.sendFilePath = sendFilePath;
this.serverSocket = serverSocket;
File file=new File(sendFilePath);
if(file.exists()){
fileLength=file.length();
}else{
fileLength=new Long(0);
}
sendedLength=new Long(0);
}
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
long st=System.currentTimeMillis();
try {
Socket s=new Socket();
s.connect(serverSocket);
BufferedInputStream in=new BufferedInputStream(new
FileInputStream(sendFilePath));
BufferedOutputStream out=new BufferedOutputStream(s.getOutputStream());
byte[] b=new byte[1000];
int a=0;
new FileTransProcessThread(fileLength, this).start();
while((a=in.read(b))>0){
out.write(b, 0, a);
sendedLength+=a;
}
in.close();
out.close();
s.close();
剩余18页未读,继续阅读
naveu
- 粉丝: 6
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论6