问答文章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
我有个无线路由器 G11手机无法上wifi 已经按照路由说明书上步骤安装调... g11无线网显示以连接信号强但是一上网显示网络错误 拜求解 HTC G11能连接上WLAN,信号显示“极强”但上不去网? ...可是家里的能连上就是打不开网页,我的路由是上海贝尔的那种。_百度... 我的手机HTC G11 连接上WLAN,信号很好,就是无法上网 ...连上家里的无线网,但是qq却上不去,网页也打不开,等于没练上一样... G11WIFI信号格满但是打不开网页等 就生产力发展而言,丛西汉至唐朝有何表现 汉代农业的发展程度是怎么样的? 你好 酷管家密码忘了 打不开怎么办 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怎样把文件写入到客户端的硬盘上 甲鱼属于寒性食物吗 甲鱼属于寒性吗 甲鱼属凉性还是热性 甲鱼是普遍的一种食材,什么体质的人不适合吃甲鱼? 甲鱼是不是凉性的 甲鱼汤是寒性还是热性? 甲鱼杀了放冷冻保存几天? 甲鱼属于寒性食物么 老鳖汤是热性还是凉性? 为什么女孩子不能吃甲鱼? 甲鱼杀后能冷冻多久