• 大小: 13KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-16
  • 语言: Java
  • 标签: java  FTP  功能  简单  

资源简介

实现FTP的一些功能,如上传文件,下载文件,显示目录,改变目录,退出等功能

资源截图

代码片段和文件信息

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;


public class client {
    String cmd = ““;//从标准输入流接收字符串,放在cmd中
Socket s;//
BufferedReader br;//传输数据
DataOutputStream dos;//
DataInputStream dis;
public client (String serName){

try {

boolean flag = true;

while(flag){

s = new Socket(serName 8888);
//从标准IO中获得输入的命令
System.out.println(“连接上!!“);
 br = new BufferedReader(new InputStreamReader(System.in));//将输入的命令放到BufferedReader类变量br中
// if ((cmd = br.readLine())!= null&&cmd.length()!=0)
// System.out.println(“echo:“+cmd);
cmd = br.readLine();//将br的内容读出放到cmd中

//发送命令
DataOutputStream dos = new DataOutputStream(
new BufferedOutputStream(s.getOutputStream()));//向服务器发送相关命令如getputcddir
//将字符集转换成字节序列
byte []buf = cmd.getBytes();//使用平台默认的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。 
//返回:结果字节数组



// dos.write(buf);
dos.writeUTF(cmd);//用UTF编码将一个字符串写入基础输入流,即写到服务端的输入流
dos.flush();//清空此数据输出流
dos.close();//关闭输出流
s.close();//关闭socket
System.out.println(“chu“);


//进行对于应得操作:
if(cmd.equals(“get“))
get(serName);
else if(cmd.equals(“put“))
put(serName);
else if(cmd.equals(“cd“))
cd (serName);
else if(cmd.equals(“dir“))
dir(serName);
else if(cmd == “quit“)
flag = false;


}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
     /*if(dis != null){
     try {
dis.close();
} catch (IOException e) {
e.printStackTrace();
}
     }
     if(dos != null){
     try {
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
     }*/
if(br != null){
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
     if(s != null){
     try {
s.close();
} catch (IOException e) {
e.printStackTrace();
}
     }
    
     }


}




public void get(String serName){
//下载
System.out.println(“get“+“54512“);
System.out.println(“请输入目录:“);
try{
//建立连接:从标准输入中获得要下载的文件的路径放在br
Socket s = new Socket(serName8888);
br = new BufferedReader(new InputStreamReader(System.in));
    String downFile = br.readLine();//读取一个文本行。通过下列字符之一即可认为某行已终止:
                                    //换行 (‘\n‘)、回车 (‘\r‘) 或回车后直接跟着换行。
    //返回:
    //包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null 
    //发要下载的文件给服务器好让对方接收到要下载的文件的名字
    dos = new DataOutputStream(
new BufferedOu

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        232  2009-12-30 14:42  ftpftp\.classpath

     文件        382  2009-12-30 14:42  ftpftp\.project

     文件       6556  2009-12-31 11:07  ftpftp\bin\client.class

     文件       5970  2009-12-31 11:15  ftpftp\bin\server.class

     文件       8013  2009-12-31 11:07  ftpftp\src\client.java

     文件       7531  2009-12-31 11:15  ftpftp\src\server.java

     目录          0  2010-01-01 17:16  ftpftp\bin

     目录          0  2010-01-01 17:16  ftpftp\src

     目录          0  2010-01-01 17:16  ftpftp

----------- ---------  ---------- -----  ----

                28684                    9


评论

共有 条评论