dear all,我想取得服務端的目錄結構在客戶端顯示﹐有沒有很好的解決辦法﹖ 可以啊可以直接读取File,列出所有目录或文件,还可以对它们进行操作! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、找一下java有关ftp的类。2、或者当客户端连上服务端的时候,服务端自己将有关目录文件信息传送到客户端。 是啊,就像实现ftp服务一样。 通过ftp得到服务器目录结构。代码如下:import java.io.*;import java.net.InetAddress;import org.apache.commons.net.ftp.*;import org.apache.commons.net.ftp.parser.*;import org.apache.commons.net.ftp.FTPFile;import org.apache.commons.net.ftp.FTPFileEntryParser;import sun.net.TelnetInputStream;public class FtpAppache { public FtpAppache(){} public void test1() throws Exception { // String strTemp = ""; //InetAddress ia = InetAddress.getByName("192.168.0.193"); FTPClient ftp = new FTPClient(); ftp.connect("192.168.0.193"); boolean blogin = ftp.login("myname", "mpaw"); if (!blogin) { System.out.println("连接失败"); ftp.disconnect(); ftp = null; return; } /*//如果是中文名必需进行字符集转换 boolean bMakeFlag = ftp.makeDirectory(new String("测试目录".getBytes( "gb2312"), "iso-8859-1")); //在服务器创建目录 //上传文件到服务器,目录自由创建 File file = new File("c:\\test.properties"); ftp.storeFile("test.properties",new FileInputStream(file));*/ System.out.println(ftp.getSystemName()); //取服务器目录 FTPFile[] ftpFiles = ftp.listFiles(); if (ftpFiles != null) { for (int i = 0; i < ftpFiles.length; i++) { System.out.println(ftpFiles[i].getName()); //System.out.println(ftpFiles[i].isFile()); if (ftpFiles[i].isFile()) { FTPFile ftpf = new FTPFile(); } //System.out.println(ftpFiles[i].getUser()); } } //下载服务器文件 FileOutputStream fos = new FileOutputStream("e:/proftpd-1.2.10.tar.gz"); ftp.retrieveFile("proftpd-1.2.10.tar.gz",fos); fos.close(); //改变ftp目录 //ftp.changeToParentDirectory();//回到父目录 //ftp.changeWorkingDirectory("");//转移工作目录 //ftp.completePendingCommand();// //删除ftp服务器文件 //ftp.deleteFile(""); //注销当前用户, //ftp.logout(); //ftp.structureMount(""); ftp.disconnect(); ftp = null; } public static void main(String[] args) { try { FtpAppache ftpAppache1 = new FtpAppache(); ftpAppache1.test1(); } catch (Exception e) { e.printStackTrace(); } }} 兄弟﹐謝謝﹗等我想好了怎么讓它顯示在swing界面上后再結分。兄弟們﹐新年快到啦﹗在此給您拜年來了,祝新的一年:開開心心快快樂樂 步步高升 年年有余!金雞年下金元寶讓好過年 兄弟﹐我對FTP的用法了解甚少﹐不知道FTP服務端是不是也像Socket服務端那樣需另編代碼且也要監聽? XML序列化对象时出现的汉字乱码问题! java正则式匹配 我想实现下面这样一个需求,具体实现请大家给个思路。 刚刚学习java请高手帮忙!!!如何将数值型字符转换为数字????急 取当前日期 到 前3个月的sql记录 怎么写 新手applet问题! JBUILDER7.0的一个例子编译出现的问题 菜鸟有问题,高手过来拣分呀。。。。。。 一个关于Html的简单问题! 关于java的菜单 如何使用java将数据post到一个servlet 怎样计算小时差?
2、或者当客户端连上服务端的时候,服务端自己将有关目录文件信息传送到客户端。
import java.net.InetAddress;
import org.apache.commons.net.ftp.*;
import org.apache.commons.net.ftp.parser.*;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPFileEntryParser;import sun.net.TelnetInputStream;public class FtpAppache {
public FtpAppache(){} public void test1() throws Exception {
//
String strTemp = ""; //InetAddress ia = InetAddress.getByName("192.168.0.193");
FTPClient ftp = new FTPClient();
ftp.connect("192.168.0.193"); boolean blogin = ftp.login("myname", "mpaw");
if (!blogin) {
System.out.println("连接失败");
ftp.disconnect();
ftp = null;
return;
} /*//如果是中文名必需进行字符集转换
boolean bMakeFlag = ftp.makeDirectory(new String("测试目录".getBytes(
"gb2312"), "iso-8859-1")); //在服务器创建目录
//上传文件到服务器,目录自由创建
File file = new File("c:\\test.properties");
ftp.storeFile("test.properties",new FileInputStream(file));*/ System.out.println(ftp.getSystemName()); //取服务器目录
FTPFile[] ftpFiles = ftp.listFiles();
if (ftpFiles != null) {
for (int i = 0; i < ftpFiles.length; i++) {
System.out.println(ftpFiles[i].getName());
//System.out.println(ftpFiles[i].isFile());
if (ftpFiles[i].isFile()) {
FTPFile ftpf = new FTPFile(); }
//System.out.println(ftpFiles[i].getUser());
}
} //下载服务器文件
FileOutputStream fos = new FileOutputStream("e:/proftpd-1.2.10.tar.gz");
ftp.retrieveFile("proftpd-1.2.10.tar.gz",fos);
fos.close(); //改变ftp目录
//ftp.changeToParentDirectory();//回到父目录
//ftp.changeWorkingDirectory("");//转移工作目录
//ftp.completePendingCommand();// //删除ftp服务器文件
//ftp.deleteFile(""); //注销当前用户,
//ftp.logout();
//ftp.structureMount("");
ftp.disconnect();
ftp = null;
} public static void main(String[] args) {
try {
FtpAppache ftpAppache1 = new FtpAppache();
ftpAppache1.test1();
}
catch (Exception e) {
e.printStackTrace();
}
}}
等我想好了怎么讓它顯示在swing界面上后再結分。
兄弟們﹐新年快到啦﹗
在此給您拜年來了,祝新的一年:開開心心快快樂樂 步步高升 年年有余!
金雞年下金元寶讓好過年
不知道FTP服務端是不是也像Socket服務端那樣需另編代碼且也要監聽?