资源简介
实现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
- 上一篇:JSP网上订票系统
- 下一篇:java300集2018.txt
相关资源
- mysql数据处理,java用户登录处理
- 法律咨询信息系统(java+jsp+sqlserver)
- Java快速开发平台源码(renren-fast)
- 锐聘学院QST青软JavaWeb十二个打包
- 3.3.6微信支付JAVA版demo
- javaweb网上购物系统源码(附数据库脚
- javaweb校园宿舍系统(附数据库脚本)
- JavaWeb书城项目(附数据库脚本)
- 基于JAVA_JSP电子书系统(源码+数据库
- Java网络编程知识点总结.xmind
- 一站式Java网络编程 BIO-NIO-AIO资料源码
- jsp讲解
- 基于SSH框架的JavaWeb项目—人员信息管
- javaweb实现的邮件收发系统(附数据库
- Java 仿QQ(附客户端以及服务端源码)
- Java TCP IP Socket
- java定时发送邮件(基于quartz)
- Java Swing开发的《星际争霸》游戏
- java+数据库商品交易管理系统(附数据
- 使用java语言编译一个计算器
- java swing工资管理系统(源码+数据库
- Android代码-多功能拨号盘源码.zip
- JAVALibrary
- 微信企业号回调模式Java版
- 顺丰丰桥接口开发详细教程源码含下
- Java博客概要设计文档
- 药品进销存管理系统(论文范文_JSP
- 奖学金管理系统java+jsp+mysql
- 毕设参考——基于java酒店管理
- Java写的一个简单的字体更改程序
评论
共有 条评论