资源简介
实现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
相关资源
- Windows bat 设置Java环境变量
- IntelliJ IDEA 安装 Grep Console插件 自定义
- java 毕业设计 进销存管理系统 源码
- java图片浏览器跨平台运行程序与源码
- 基于java的在线考试系统-毕业设计
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
评论
共有 条评论