Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1354494
  • 博文数量: 334
  • 博客积分: 10302
  • 博客等级: 上将
  • 技术积分: 2986
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-12 10:17
文章分类

全部博文(334)

文章存档

2013年(1)

2012年(9)

2011年(4)

2010年(10)

2009年(24)

2008年(64)

2007年(72)

2006年(150)

我的朋友

分类: Java

2006-09-26 12:29:03

为了能在Sco Unix下去接收文件,C忘的差不多了,近期刚好在看JAVA,所以就索性来个学以致用了。老规矩在网上搜索了一番,开始尝试使用第三方的控件包edtftpj,但对中文支持不行,老是报异常,想尝试去解决,但结果很不幸。不过,事情总是两面性,在搜索过程以发现了有一位大虾在留言版上贴出了关于用Apache jakarta的net子项目包来做FTP,而且给出源码。去apache的站点上下载了net包,把网上下来的源码调整后,可以连接上去了,但在执行FtpClien.dirlist()方法时报错Main notFoundCLass....,这个错费了不少时间,结果是Apache jakarta上还有一个oro的子项目包,加入后就OK了。至于后来碰上的中文乱码问题,就是JAVA的编码转换一下就ok了。下面是我调整好后的源代码(windows(Client)-->Unix(FTP Server))。
声明:原始作者不是本人!

 import org.apache.commons.net.ftp.*;
 import org.apache.commons.net.ftp.FTPFile;
 
 public class ftp1 {
  public static void main(String[] args) throws Exception{
 
   //
   String strTemp = "";
   // InetAddress ia = InetAddress.getByName("192.168.0.1");
   FTPClient ftp = new FTPClient();
   ");
   boolean blogin = ftp.login("aaa", "aaa");
   if (!blogin) {
    System.out.println("连接失败");
    ();
    ftp = null;
    return ;
   }
   /*
    * //如果是中文名必需进行字符集转换
      boolean bMakeFlag =
    * String("测试目录".getBytes( "gb2312"), "iso-8859-1")); //在服务器创建目录
    * //上传文件到服务器,目录自由创建 File file = new File("c:\\test.properties");
    * FileInputStream(file));
    */
   System.out.println("FTP服务器系统:"+ftp.getSystemName());
   System.out.println("FTP服务器端口:"+ftp.getRemotePort());
   FTPFile[] ftpFiles  =ftp.listFiles();
   
   if (ftpFiles != null) {
    for (int i = 0; i < ftpFiles.length; i++) {
     
     // System.out.println(ftpFiles[i].isFile());
     if (ftpFiles[i].isDirectory()) {
      strTemp=ftpFiles[i].getName();
      strTemp=new String(strTemp.getBytes("ISO-8859-1"),"gb2312");
      System.out.println(strTemp);
      //FTPFile ftpf = new FTPFile();
      /*
       * System.err.println(ftpf.hasPermission(FTPFile.GROUP_ACCESS,
       * FTPFile.EXECUTE_PERMISSION));
       * System.err.println("READ_PERMISSION="+ftpf.hasPermission(FTPFile.USER_ACCESS,
       * FTPFile.READ_PERMISSION));
       * System.err.println("EXECUTE_PERMISSION="+ftpf.hasPermission(FTPFile.USER_ACCESS,
       * FTPFile.EXECUTE_PERMISSION));
       * System.err.println("WRITE_PERMISSION="+ftpf.hasPermission(FTPFile.USER_ACCESS,
       * FTPFile.WRITE_PERMISSION));
       * System.err.println(ftpf.hasPermission(FTPFile.WORLD_ACCESS,
       * FTPFile.READ_PERMISSION));
       */
     }
     /*else{
      System.out.println("上面这个是目录");
     }
     */
     
     // System.out.println(ftpFiles[i].getUser());
    }
   }
   // 下载服务器文件
   // FileOutputStream fos = new
   // FileOutputStream("e:/proftpd-1.2.10.tar.gz");
   // );
   // fos.close();
   // 改变ftp目录
   // 回到父目录
   // 转移工作目录
   //
   // 删除ftp服务器文件
   // ("");
   // 注销当前用户,
   // ();
   // ("");
   ();
   ftp = null;
  }
 }
 
阅读(2062) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~