java上传类 不指定

lanbingfeihan , 2010/01/31 21:20 , 编程和操作系统 , 评论(0) , 阅读(233) , Via 本站原创
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.log4j.Logger;




public class FtpService extends BaseServiceSupport {

  public static FTPClient ftpClient;
  
  /**  连接服务器
   *
   *  */
  private void connect() {

    try {
      String server = Configuration.getInstance().getFtpServerIp();
      String username = Configuration.getInstance().getFtpServerUsername();
      String password = Configuration.getInstance().getFtpServerPassword();
      ftpClient = new FTPClient();
      ftpClient.connect(server);
      ftpClient.login(username, password);
    }
    catch (IOException e) {
      e.printStackTrace();
    }
  }

  /**
   * 关闭连接
   */
  public void closeConnect() {
    try {
      ftpClient.disconnect();
    }
    catch (IOException e) {
      e.printStackTrace();
    }
  }


  /**
   * 上传
   *
   */
  public void upload(InputStream is,String filename) {
    try {
        String destFileName = filename;
        String tempFileName = "tmp_" + filename;
        boolean flag = ftpClient.storeFile(tempFileName, is);
        if (flag) {
          ftpClient.rename(tempFileName, destFileName);
        }
        is.close();
      }
    catch (IOException e) {
     e.printStackTrace();
    }
  }

  /**
   * 从服务器下载文件到本地
   */
  public void download(String filepath,String filename) {
    try {
      FTPFile[] fileList = ftpClient.listFiles();
      for (int i = 0; i < fileList.length; i++){
     if(fileList[i].getName().equals(filename))continue;
        String name = fileList[i].getName();
        File tempFile = new File(filepath + filename);
        File destFile = new File(filepath + filename);
        FileOutputStream fos = new FileOutputStream(tempFile);
        boolean flag = ftpClient.retrieveFile(name, fos);
        // 关闭文件流
        fos.close();
        if (flag) {
         tempFile.renameTo(destFile);
        }
      }
    }
    catch (IOException e){
     e.printStackTrace();
    }
  }

  /**
   * 测试函数
   * @throws FileNotFoundException
   */
  public static void main(String[] args) throws FileNotFoundException{
    FtpService fd = new FtpService();
    fd.connect();
    File file = new File("d:/logfile.log");
    InputStream in  = new FileInputStream(file);
    fd.upload(in,"logfile.log");
    fd.closeConnect();
  }
}



      应该用一个循环可以省下不少代码,但是现在脑子有点昏,下午或明天解决这个问题。应该不会很麻烦,这是我自己做的啊, 没有看任何参考资料, 以前也见过约瑟夫环的问题,都没有头绪, 我觉得我这样的想法虽然比较笨,但是应该很实用。我开始逐渐的把程序分成一个个小问题来解决了。我觉得是进步。这个题在循环结束条件上我弄不清了,现在弄不清,不知道怎么解决,因为最后一个应该数组长度为1了,怎么判断数组长度是不是一,我还没有弄清楚, 好像a.length不能直接参与那种是否等于的运算的, 前几天弄的不可以。

/**【程序37】
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

   用abstract来修饰一个类的时候,这个类叫做抽象类,用abstract修饰一个方法的时候这个方法叫做抽象方法。
  含有抽象方法的类必须定义为抽象类,抽象类必须被继承,抽象方法必须被重写。
  抽象类不能被实例化。
  抽象方法只需声明,不能实现。

  final关键字定义的变量的值不能被改变:final的成员变量,final的成员变量(形参)
  final的方法不能被重写
  final的类不能被重写


  

烦恼 不指定

lanbingfeihan , 2009/04/18 23:21 , 说不清的生活 , 评论(0) , 阅读(224) , Via 本站原创
       不知从何写起,我希望在烦恼的时候我能够坚持住,一定坚持住。为了自己的事业,加油。为了梦想加油。
        今天又看到一篇DIV+CSS兼容问题的文章,就贴过来了,以留自己以后查看,虽然好像不如我以前看过的几篇写的清楚。
     在网站设计的时候,应该注意css样式兼容不同浏览器问题,特别是对完全使用DIV CSS设计的网,就应该更注意IE6 IE7 FF对CSS样式的兼容,不然,你的网乱可能出去不想出现的效果!
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]