问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求用java写一个ftp服务器客户端程序。

发布网友 发布时间:2022-04-26 10:19

我来回答

1个回答

热心网友 时间:2022-04-22 09:04

import java.io.*;
import java.net.*;public class ftpServer extends Thread{ public static void main(String args[]){
String initDir;
initDir = "D:/Ftp";
ServerSocket server;
Socket socket;
String s;
String user;
String password;
user = "root";
password = "123456";
try{
System.out.println("MYFTP服务器启动....");
System.out.println("正在等待连接....");
//监听21号端口
server = new ServerSocket(21);
socket = server.accept();
System.out.println("连接成功");
System.out.println("**********************************");
System.out.println("");

InputStream in =socket.getInputStream();
OutputStream out = socket.getOutputStream();

DataInputStream din = new DataInputStream(in);
DataOutputStream dout=new DataOutputStream(out);
System.out.println("请等待验证客户信息....");

while(true){
s = din.readUTF();
if(s.trim().equals("LOGIN "+user)){
s = "请输入密码:";
dout.writeUTF(s);
s = din.readUTF();
if(s.trim().equals(password)){
s = "连接成功。";
dout.writeUTF(s);
break;
}
else{s ="密码错误,请重新输入用户名:";<br> dout.writeUTF(s);<br> <br> }
}
else{
s = "您输入的命令不正确或此用户不存在,请重新输入:";
dout.writeUTF(s);
}
}
System.out.println("验证客户信息完毕...."); while(true){
System.out.println("");
System.out.println("");
s = din.readUTF();
if(s.trim().equals("DIR")){
String output = "";
File file = new File(initDir);
String[] dirStructure = new String[10];
dirStructure= file.list();
for(int i=0;i<dirStructure.length;i++){
output +=dirStructure[i]+"\n";
}
s=output;
dout.writeUTF(s);
}
else if(s.startsWith("GET")){
s = s.substring(3);
s = s.trim();
File file = new File(initDir);
String[] dirStructure = new String[10];
dirStructure= file.list();
String e= s;
int i=0;
s ="不存在";
while(true){
if(e.equals(dirStructure[i])){
s="存在";
dout.writeUTF(s);
RandomAccessFile outFile = new RandomAccessFile(initDir+"/"+e,"r");
byte byteBuffer[]= new byte[1024];
int amount;
while((amount = outFile.read(byteBuffer)) != -1){
dout.write(byteBuffer, 0, amount);break;
}break;

}
else if(i<dirStructure.length-1){
i++;
}
else{
dout.writeUTF(s);
break;
}
}
}
else if(s.startsWith("PUT")){
s = s.substring(3);
s = s.trim();
RandomAccessFile inFile = new RandomAccessFile(initDir+"/"+s,"rw");
byte byteBuffer[] = new byte[1024];
int amount;
while((amount =din.read(byteBuffer) )!= -1){
inFile.write(byteBuffer, 0, amount);break;
}
}
else if(s.trim().equals("BYE"))break;
else{
s = "您输入的命令不正确或此用户不存在,请重新输入:";
dout.writeUTF(s);
}
}

din.close();
dout.close();
in.close();
out.close();
socket.close();
}
catch(Exception e){
System.out.println("MYFTP关闭!"+e);

}
}}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... Java 编程 怎么做成客户端? webservice中怎样用java写客户端程序() java适合做桌面客户端吗 华为nova2 plus怎么设置返回? 怎么用java编写简单客户端程序 KG316T微电脑时控开关调试方法? kg316t微电脑时控开关怎么设置电源怎么连接 kg316t微电脑时控开关如何调时间? 上海华琪KG316T微电脑时控开关说明书的内容是什么? 学习其实很简单读后感 关于学习方面 世界上有学问的人为什么这么多呢?学习真的很简单吗?为什么我学不好呢? 学习其实很简单这本书的读后感 《原来学习可以这么简单》作文 学习其实很简单的读后感!!!急!!!解出一定采纳 《学习其实......》作文 学习真的是最简单的事情吗 学习,有时很简单 作文250字 《原来学习可以这么简单》作文? 学习其实很简单歌词 编写java程序实现客户端和服务端的通信 java 打包成客户端 培训了一个月java,可以写出一个服务端客户端聊天吗 用Java编写创建一对客户端&#47;服务器程序,利用数据报将一个文件从一台主机传送到另一 python服务端已写,对应怎么写java客户端 java 编写客户端 获取图片 用java写一个客户端,向本机中发送snmp命令,拿到snmp服务器返回的结果? 电脑administrator启动密码忘记了怎么办 Java怎样把文件写入到客户端的硬盘上 甲鱼属于寒性食物吗 甲鱼属于寒性吗 甲鱼属凉性还是热性 甲鱼是普遍的一种食材,什么体质的人不适合吃甲鱼? 甲鱼是不是凉性的 甲鱼汤是寒性还是热性? 甲鱼杀了放冷冻保存几天? 甲鱼属于寒性食物么 老鳖汤是热性还是凉性? 为什么女孩子不能吃甲鱼? 甲鱼杀后能冷冻多久